짧은 대답 재 컴파일의 원인은 무엇
가 트리거 할?
재 컴파일은 .NET Core 명령 줄 인터페이스 (CLI)의 버전 및/또는 비트 (x86 또는 x64)가 프로그램 빌드 및 실행간에 변경 될 때 발생합니다.
명령 줄에서 dotnet --version
을 실행하여 버전을 찾고 dotnet --info
을 실행하여 비트를 찾습니다.
왜 두 프로젝트 중 하나만 재 컴파일을 트리거 할 수 있습니까?
구체적인 설정에 따라 다릅니다. 프로젝트 중 하나가 실행중인 버전과 다른 버전/비트의 CLI로 빌드 중입니다.
나는 이것을 전혀 방지 할 수 있습니까?
주어진 프로젝트의 경우 동일한 CLI 버전/비트로 빌드하고 실행하십시오. global.json
file's sdk.version 등록 정보를 사용하거나 하나의 CLI 버전 만 설치하여이를 제어 할 수 있습니다.
일부 세부 사항
이 설치 .NET의 CLI 버전을 두 개 이상있는 경우는, 로컬 오류를 다시 만들 수 있습니다. 예를 들어 다음 버전을 모두 설치했다고 가정하고 CLI 버전 1.0.0-preview2-003156
을 사용하여 새로운 dotnet 핵심 응용 프로그램을 만들고 빌드 한 다음 CLI 버전 1.0.0-preview2-003133
을 사용하여 실행하십시오.
PowerShell을 :
출력
cd C:/
New-Item -type Directory foobar
cd foobar
Add-Content -Path global.json -Value '{ "sdk" : { "version": "1.0.0-preview2-003156" }}'
dotnet new
dotnet restore
dotnet build
Clear-Content -Path global.json
Add-Content -Path global.json -Value '{ "sdk" : { "version": "1.0.0-preview2-003133" }}'
dotnet run
다음 CLI의 버전 또는 비트 수는 마지막 빌드
이후 변경 되었기 때문에
프로젝트는 foobar (.NETCoreApp, 버전 = V1.0)이 컴파일됩니다
"컴퓨터를 잠그기 전에?"라고 말하면 무엇을 의미합니까? –
사용중인 .NET SDK의 버전은 무엇입니까? –
@ShaunLuttin 답변을 주셔서 감사합니다, 몇 가지를 배제하는 것이 도움이되었습니다. 두 앱 모두 버전 1.0.0-preview2-003131을 사용하는 고정 컨테이너에서 실행되며 두 global.json 파일은 사용할 버전을 지정합니다. 두 컨테이너가 같은 버전을 사용하고 있지만 다른 컨테이너는 이전에 컴파일 된 반면 다른 컨테이너는 다시 컴파일해야한다는 것을 확인했습니다. 재 컴파일을 시도 할 때 해당 컴퓨터의 CPU가 시스템을 사용할 수없는 지점까지 스로틀 링합니다 (사과, "잠긴"은 사용할 수있는 명확한 형용사가 아닙니다). 이견있는 사람? – user1991179