프로젝트를 컴파일하고 실행하는 데 사용됩니다 무엇입니까? net451 sdk에서 msbuild를 호출합니까? 당신이 -v
플래그 dotnet
에 추가하는 경우
가
당신은 자신을 찾을 수 있습니다 : 두 경우 모두, CSC는, C# 컴파일러가 직접 사용하는 것이
> 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!
공지 사항 (이것은 닷넷 핵심이다 csc 버전이므로 dotnet csc.dll
을 사용하여 실행됩니다. 이 둘의 주요 차이점은 csc에 대한 추가 인수가 들어있는 .rsp 파일입니다. net451
버전에서
는, 그것의 흥미로운 부분은 다음과 같습니다 : 응용 프로그램을 컴파일하는 데 사용되는 참조 어셈블리를 닷넷 프레임 워크 4.5.1 :
-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"
이 그것을 net451
사용하는 것이 무엇을 의미하는지입니다 . netcoreapp1.0
버전에서
, 그것은이 (절단)과 같다
-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"
공지 .Net Standard Library 그 기준 조립체가 대신 사용된다.
어느 경우이든 msbuild는 전혀 사용되지 않습니다.
실행중인 앱을 여전히 .NET Core App으로 간주 할 수 있습니까?
나는 그렇게 생각하지 않는다. .NET Framework CLI/SDK를 사용하여 만든 .NET Framework 응용 프로그램이라고 할 수 있습니다. 예, 혼란 스럽습니다.
너무 깊이 잠수하지 마십시오. Microsoft는 여전히이를 변경하고 있으며 MSBuild가 다시 돌아올 것입니다. –
바로 그게 내 문제입니다. 어떻게 작동 하는지를 알기 전까지는 도구를 사용할 수 없습니다 ... 나는 그것을 극복하려고 노력하고 있습니다. – neleus