问题描述
到目前为止,我一直在使用 .NET Framework 中的 csc.exe 来编译我的简短C#脚本。没什么好想的,我只是想探索一下,并且 csc.exe 已经在我的计算机上。现在,我正在尝试使用 .NET Core sdk (在这里找到https://dotnet.microsoft.com/download/dotnet-core/3.1)编写项目,现在我不确定如何指定那些经典的编译器选项,例如“ -优化”。
我知道我并不是真的需要“优化”,但是我仍然想尝试一下,也许还可以使用一些我尚未考虑的选项。我想到的唯一解决方案是使用提供的 csc.dll (使用“ dotnet
如何重现这种情况:
- 新文件夹
- “ dotnet新控制台”
- 现在已生成所有巫术文件(“ Project.csproj”,“ Program.cs”,“ bin /”,“ obj /...”)
- “ dotnet运行”
- 现在如何?
我假设我需要向.csproj文件中添加一些内容,因为该文件的“ -unsafe”具有“ <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
”,但是我找不到“ -optimize”的任何内容。
其他信息: 我正在使用 Visual Studio代码,我认为这与该问题无关,但以防万一。
解决方法
编译“发行版”会自动打开该选项。要使用它,请将-c Release
传递到dotnet
命令。
例如,Release
指向如下所示的配置:
<PropertyGroup Condition="'$(Configuration)' == 'Release'">
<DefineConstants>$(DefineConstants);RELEASE;TRACE</DefineConstants>
<DebugSymbols>false</DebugSymbols>
<DebugType>portable</DebugType>
<Optimize>true</Optimize>
</PropertyGroup>
更多信息here。