Come si usa "-optimize" con dotnet cli?
Finora ho usato csc.exe da .NET Framework per compilare i miei brevi script C#. Niente di troppo sofisticato, volevo solo esplorare un po' e csc.exe era già sul mio computer. Ora che sto provando a scrivere i miei progetti usando .NET Core sdk (che ho trovato qui:https://dotnet.microsoft.com/download/dotnet-core/3.1), non sono sicuro di come specificare quelle classiche opzioni del compilatore come "-optimize".
Sono consapevole che non ho davvero bisogno di "-ottimizzare", ma mi piacerebbe comunque sperimentare e magari utilizzare alcune altre opzioni che non ho ancora considerato. L'unica soluzione che mi è venuta in mente è stata l'utilizzo del csc.dll fornito (usando "dotnet <path>/csc.dll ...") che significava tornare al punto di partenza di csc.exe , il che ha vanificato lo scopo dell'intero sdk.
Come riprodurre questa situazione:
- nuova cartella
- "dotnet nuova console"
- tutti i file necessari sono ora generati ("Project.csproj", "Program.cs", "bin/", "obj/...")
- "esecuzione dotnet"
- e adesso?
Presumo di dover aggiungere qualcosa al file .csproj poiché ha " <AllowUnsafeBlocks>true</AllowUnsafeBlocks>" per "-unsafe", tuttavia, non ho trovato nulla per "-optimize".
Informazioni aggiuntive: sto usando Visual Studio Code , che non credo sia rilevante per questo problema, ma per ogni evenienza.
Risposte
La compilazione per "rilascio" attiva automaticamente quell'opzione. Per usarlo, passa -c Releaseal dotnetcomando.
Ad esempio, Releasepunta a una configurazione simile a questa:
<PropertyGroup Condition="'$(Configuration)' == 'Release'"> <DefineConstants>$(DefineConstants);RELEASE;TRACE</DefineConstants>
<DebugSymbols>false</DebugSymbols>
<DebugType>portable</DebugType>
<Optimize>true</Optimize>
</PropertyGroup>
Maggiori informazioni qui .