如何在 VS Code 和/或 .NET Core 中设置编译器选项?
Posted
技术标签:
【中文标题】如何在 VS Code 和/或 .NET Core 中设置编译器选项?【英文标题】:How to set compiler options in VS Code and/or .NET Core? 【发布时间】:2019-06-19 23:04:29 【问题描述】:我正在尝试为通过 .NET Core 编写的 C# 库项目设置 -checked 编译器选项,使用 VS Code 作为 IDE。我该怎么做?
【问题讨论】:
【参考方案1】:大多数(全部?)编译器选项都有相应的构建参数。您可以在要添加的参数之前使用-p:
(或/p:
)标志将构建参数传递给dotnet build
。然后使用name=value
结构作为参数名称和相应的值。
从-checked compiler option 的文档中,对应的构建参数是CheckForOverflowUnderflow。
以下是 PowerShell 中使用 dotnet build
参数 CheckForOverflowUnderflow
的示例,该构建等效于 -checked
编译器选项。
PS C:\Users\me\source\repos\Solution\Solution.Models> dotnet build -p:CheckForOverflowUnderflow=true .\Solution.Models.csproj
Microsoft (R) Build Engine version 16.7.0+7fb82e5b2 for .NET
Copyright (C) Microsoft Corporation. All rights reserved.
Determining projects to restore...
All projects are up-to-date for restore.
Solution.Models -> C:\Users\me\source\repos\Solution\Solution.Models\bin\Debug\netstandard2.0\Solution.Models.dll
Build succeeded.
0 Warning(s)
0 Error(s)
Time Elapsed 00:00:01.18
PS C:\Users\me\source\repos\Solution\Solution.Models>
【讨论】:
这需要一段时间才能找到,但这也是您可以有条件地打开-p:TreatWarningsAsErrors=true
的方法【参考方案2】:
当您使用 VS Code 打开项目/解决方案时,它会创建一个名为 .vscode
的目录,其中会有一个 tasks.json
文件
(这个目录和文件是在你第一次在 VS Code 中按 F5 时创建的)
看看这个文件,你会发现它的格式类似于以下:
"version": "2.0.0",
"tasks": [
"label": "build",
"command": "dotnet",
"type": "process",
"args": [
"build",
"$workspaceFolder/project.csproj"
],
"problemMatcher": "$tsc"
]
(你可能有更多的任务条目)
您可以通过将字符串添加到其args
数组来为每个任务添加单独的参数。在上面的示例中,我调用 CLI 命令 dotnet
并将参数 build
和 $workspaceFolder/project.csproj
传递给它
【讨论】:
这对于设置dotnet
命令的选项很有用,但我不明白如何使用这些设置编译器标志。事实上,在控制台中输入dotnet build --help
将打印所有选项的列表,并且与编译器标志无关。以上是关于如何在 VS Code 和/或 .NET Core 中设置编译器选项?的主要内容,如果未能解决你的问题,请参考以下文章
在 VS Code 上的 Asp.net Core 应用程序中集成 Devexpress 工具