Как использовать «-optimize» с dotnet cli?
До сих пор я использовал csc.exe из .NET Framework для компиляции моих коротких сценариев C #. Ничего особенного, я просто хотел немного изучить, а csc.exe уже был на моем компьютере. Теперь, когда я пытаюсь писать свои проекты, используя .NET Core sdk (который я нашел здесь:https://dotnet.microsoft.com/download/dotnet-core/3.1), Я не уверен, как указать эти классические параметры компилятора, такие как "-optimize".
Я понимаю, что мне действительно не нужно "-оптимизировать", но я все же хотел бы поэкспериментировать и, возможно, использовать некоторые другие варианты, которые я еще не рассматривал. Единственное решение, которое я придумал, заключалось в использовании предоставленного csc.dll (с использованием "dotnet <path> /csc.dll ..."), что означало возвращение к csc.exe на полный круг, что как бы нарушало цель всего SDK.
Как воспроизвести эту ситуацию:
- новая папка
- "новая консоль dotnet"
- все необходимые файлы теперь созданы ("Project.csproj", "Program.cs", "bin /", "obj / ...")
- "dotnet run"
- что теперь?
Я предполагаю, что мне нужно добавить что-то в файл .csproj, поскольку он имеет " <AllowUnsafeBlocks>true</AllowUnsafeBlocks>" для "-unsafe", однако я не нашел ничего для "-optimize".
Дополнительная информация: я использую Visual Studio Code , который, на мой взгляд, не имеет отношения к этой проблеме, но на всякий случай.
Ответы
Компиляция для "выпуска" автоматически включает эту опцию. Чтобы использовать это, перейдите -c Releaseк dotnetкоманде.
Например, Releaseуказывает на конфигурацию, которая выглядит примерно так:
<PropertyGroup Condition="'$(Configuration)' == 'Release'"> <DefineConstants>$(DefineConstants);RELEASE;TRACE</DefineConstants>
<DebugSymbols>false</DebugSymbols>
<DebugType>portable</DebugType>
<Optimize>true</Optimize>
</PropertyGroup>
Больше информации здесь .