如何在 dotnet cli 中使用“-optimize”?

How do I use "-optimize" with dotnet cli?

到目前为止,我一直在使用 .NET Framework 中的 csc.exe 来编译我的简短 C# 脚本。没什么特别的,我只是想探索一下,csc.exe 已经在我的电脑上了。现在我正在尝试使用 .NET Core sdk(我在这里找到:https://dotnet.microsoft.com/download/dotnet-core/3.1)编写我的项目,我不确定如何指定那些经典的编译器选项例如“-optimize”。

我知道我并不真的需要“-optimize”,但我仍然想尝试并可能使用一些我尚未考虑过的其他选项。我想出的唯一解决方案是使用提供的 csc.dll(使用“dotnet /csc.dll ...”),这意味着要绕一圈回到 csc.exe 这违背了整个 sdk 的目的。

如何重现这种情况:

我想我需要在 .csproj 文件中添加一些东西,因为它有“<AllowUnsafeBlocks>true</AllowUnsafeBlocks>”代表“-unsafe”,但是,我没有找到任何关于“-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