Was das Projekt zu kompilieren verwendet wird und betrieben werden? Ruft es das msbuild von net451 sdk auf?
Sie selbst herausfinden können, ob Sie die -v
Flagge zu dotnet
hinzufügen:
> dotnet -v run -f net451
Project hwapp (.NETFramework,Version=v4.5.1) will be compiled because expected outputs are missing
C:\code\hwapp\bin\Debug\net451\rtmapp.exe
C:\code\hwapp\bin\Debug\net451\rtmapp.pdb
C:\code\hwapp\bin\Debug\net451\win7-x64\rtmapp.exe
C:\code\hwapp\bin\Debug\net451\win7-x64\rtmapp.pdb
Compiling hwapp for .NETFramework,Version=v4.5.1
Running C:\Program Files\dotnet\dotnet.exe "C:\Program Files\dotnet\sdk\1.0.0-preview2-003121\csc.dll" -noconfig @C:\code\hwapp\obj\Debug\net451\dotnet-compile-csc.rsp
Process ID: 4900
Compilation succeeded.
0 Warning(s)
0 Error(s)
Time elapsed 00:00:01.4136972
Running C:\code\hwapp\bin\Debug\net451\win7-x64\rtmapp.exe
Process ID: 12208
Hello World!
> dotnet -v run -f netcoreapp1.0
Project hwapp (.NETCoreApp,Version=v1.0) will be compiled because expected outputs are missing
C:\code\hwapp\bin\Debug\netcoreapp1.0\rtmapp.dll
C:\code\hwapp\bin\Debug\netcoreapp1.0\rtmapp.pdb
C:\code\hwapp\bin\Debug\netcoreapp1.0\rtmapp.deps.json
C:\code\hwapp\bin\Debug\netcoreapp1.0\rtmapp.runtimeconfig.json
Compiling hwapp for .NETCoreApp,Version=v1.0
Running C:\Program Files\dotnet\dotnet.exe "C:\Program Files\dotnet\sdk\1.0.0-preview2-003121\csc.dll" -noconfig @C:\code\hwapp\obj\Debug\netcoreapp1.0\dotnet-compile-csc.rsp
Process ID: 12084
Compilation succeeded.
0 Warning(s)
0 Error(s)
Time elapsed 00:00:01.6766971
Running C:\Program Files\dotnet\dotnet.exe exec --additionalprobingpath C:\Users\Svick\.nuget\packages C:\code\hwapp\bin\Debug\netcoreapp1.0\rtmapp.dll
Process ID: 9068
Hello World!
Beachten Sie, dass der C# -Compiler, ist direkt verwendet wird, in beiden Fällen, csc, (es die .Net-Core Version von csc, so dass es mit dotnet csc.dll
ausgeführt wird). Der Hauptunterschied zwischen den beiden ist die .rsp-Datei, die zusätzliche Argumente für csc enthält.
In der net451
Version, der interessante Teil davon sieht wie folgt aus:
-out:"C:\code\hwapp\bin\Debug\net451\hwapp.exe"
-r:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.1\mscorlib.dll"
-r:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.1\System.dll"
-r:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.1\System.Core.dll"
-r:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.1\Microsoft.CSharp.dll"
Dies ist, was es bedeutet, net451
zu verwenden: Das Referenz Baugruppen für .Net Framework 4.5.1 verwendet werden, um die Anwendung zu kompilieren .
In der netcoreapp1.0
Version sieht es aus wie diese (abgeschnitten):
-out:"C:\code\hwapp\bin\Debug\netcoreapp1.0\hwapp.dll"
-r:"C:\Users\Svick\.nuget\packages\Microsoft.CSharp\4.0.1\ref\netstandard1.0\Microsoft.CSharp.dll"
-r:"C:\Users\Svick\.nuget\packages\Microsoft.VisualBasic\10.0.1\ref\netstandard1.1\Microsoft.VisualBasic.dll"
-r:"C:\Users\Svick\.nuget\packages\Microsoft.Win32.Primitives\4.0.1\ref\netstandard1.3\Microsoft.Win32.Primitives.dll"
-r:"C:\Users\Svick\.nuget\packages\System.AppContext\4.1.0\ref\netstandard1.6\System.AppContext.dll"
-r:"C:\Users\Svick\.nuget\packages\System.Buffers\4.0.0\lib\netstandard1.1\System.Buffers.dll"
-r:"C:\Users\Svick\.nuget\packages\System.Collections\4.0.11\ref\netstandard1.3\System.Collections.dll"
-r:"C:\Users\Svick\.nuget\packages\System.Collections.Concurrent\4.0.12\ref\netstandard1.3\System.Collections.Concurrent.dll"
Beachten Sie, dass .Net Standard Library Referenz Baugruppen stattdessen verwendet werden.
In beiden Fällen wird Msbuild überhaupt nicht verwendet.
Kann die laufende App noch als .NET Core App betrachtet werden?
Ich glaube nicht. Ich würde sagen, es handelt sich um eine .NET Framework-App, die mit dem .NET Core CLI/SDK erstellt wurde. Ja, es ist verwirrend.
Nicht zu tief tauchen. Microsoft ändert es noch, und MSBuild wird zurück sein. –
Richtig, das ist mein Problem, ich kann ein Werkzeug nicht benutzen, bis ich weiß, wie es funktioniert ... Ich versuche es zu überwinden. – neleus