BuildTasks.Csc 작업을 어셈블리에서로드 할 수 없습니까?


95

나는 여기에서 이와 같은 질문을하는 것에 죄책감을 느낀다. 그러나 나는 헤매고있어 도움을 주시면 감사하겠습니다.

웹 애플리케이션과 같은 개념 증명이 한 PC에 구축되고 다른 위치에있는 다른 PC에 다운로드 할 수 있도록 저장소에 배치되었습니다. 원래 Azure가 체크인시 자동으로 빌드하고 게시하는 자동 빌드 기능이 설정되었지만 제거되었습니다. 한 쪽이 제외 된 변경 사항을 대량으로 포함 할 때까지 양쪽 끝에서 모든 것이 작동했습니다. 이제 다음 오류가 표시됩니다.


어셈블리 ... \ packages \ Microsoft.Net.Compilers.1.0.0 \ build .. \ tools \ Microsoft.Build.Tasks.CodeAnalysis.dll에서 "Microsoft.CodeAnalysis.BuildTasks.Csc"작업을 로드 할 수 없습니다 . 파일 또는 어셈블리 'file : /// ... \ packages \ Microsoft.Net.Compilers.1.0.0 \ tools \ Microsoft.Build.Tasks.CodeAnalysis.dll'또는 해당 종속성 중 하나를로드 할 수 없습니다. 시스템이 지정된 파일을 찾을 수 없습니다. 선언이 올바른지, 어셈블리와 모든 해당 종속성을 사용할 수 있는지, 작업에 Microsoft.Build.Framework.ITask를 구현하는 공용 클래스가 포함되어 있는지 확인합니다.

누구든지 문제를 찾기 시작할 위치에 대한 제안이 있습니까?


답변:


117

NuGet 패키지가 리포지토리에 커밋되고 모든 것이 중단 된 것으로 나타났습니다. NuGet이 빌드시 패키지를 자동으로 가져 오기 때문에 리포지토리에서 project \ project \ packages 디렉터리를 삭제하면 모든 빌드 문제가 해결되었습니다.


내용뿐만 아니라 VSTS에 실제 패키지 폴더를 포함해야합니다. 패키지의 내용 만 수행
했는데

1
내 모든 프로젝트에 커밋 된 너겟 패키지가 있습니다. 유일한 문제는 소스 제어에 추가 할 때 * .dll 파일이 기본적으로 "제외 된 항목"이므로 너겟 대신 빈 디렉토리 만 커밋한다는 것입니다. 그렇기 때문에 nuget을 복원해도 도움이되지 않습니다. 디렉토리가 제자리에 있기 때문에 nuget은 모든 것이 정상이라고 생각합니다.
Jiří Herník

유사 스레드 솔루션은 여기에서 찾을 수 있습니다 kx.cloudingenium.com/programming/net/...
프라 모드 Sutar을

이게 왜 효과가 있었는지 모르겠네요 ... 이유가 뭐죠?
Richard Duerr 2018

65

프로젝트의 새 분기를 만들 때이 오류가 발생했습니다.

그것은 나를 한 시간 동안 미치게 만들었다. 나는이 질문에 대한 대답을 포함하여 인터넷을 통해 대부분의 제안을 시도했습니다.

그런 다음 프로젝트를 닫고 다시 열고 정리하면 오류가 사라졌습니다. 따라서 이것은 캐시 문제 일 수 있음을 의미합니다.

어쨌든 공유하고 싶었습니다.


6
감사! 저에게는 먼저 패키지 폴더였습니다. 다음, 나는 여전히 오류가 있었지만, 다시 시작 VS는 :) 일
dsnunez

35

나도 행운이없는 최고의 답변을 시도했기 때문에 내 빈 및 패키지 디렉토리의 내용을 삭제하고 VS를 닫고 다시 열었으며 모든 것이 잘되었습니다.


1
이것은 나를 도왔다. Parallels에서 VS 2015에서 기존 ASP.NET 프로젝트를 실행하려고 시도했는데 위의 오류가 발생했습니다. 'bin'및 'packages'폴더를 제거하고 VS를 다시 시작하고 깨끗한 빌드가 트릭을 수행했습니다!
A3mercury

17

이전에 설명한 모든 솔루션을 시도했지만 효과가 없었습니다.

나를 위해 해결 한 것은 NuGet 패키지 관리자에서 Microsoft.Net.Compilers업데이트하는 것입니다.


2
나는 반대의 문제가 있었다. 너무 낙관적이어서 최신 RC 버전을 다운로드했습니다. 최신 안정 버전으로 되 돌렸을 때 괜찮 았습니다.
Cool Blue

1
2.8에서 3.1.1로 업그레이드했는데 문제가 해결되었습니다. 감사!
Dan Csharpster 19

13
  • 솔루션을 마우스 오른쪽 단추로 클릭하십시오.
  • Nuget 패키지 관리로 이동합니다.
  • 를 검색합니다 Microsoft.Net.Compilers.
  • 필요에 따라 종속 프로젝트를 설치하거나 업데이트합니다.

6

솔루션을 다시 빌드하고 정리하고 Visual Studio를 다시 시작하면 저에게 효과적이었습니다.


1
예, 여기도 마찬가지입니다.하지만 VS를 다시 시작하는 것만으로는 충분하지 않습니다. 컴퓨터를 다시 시작해야했습니다.
Billious

내 컴퓨터를 다시 시작하면 트릭이 발생했습니다. 너겟 패키지를 정리하고 다시 설치해야하는지 확실하지 않습니다.
Don Rolling


4

이 세 개의 디렉토리를 삭제하면 문제가 해결됩니다.

  • / 패키지
  • /큰 상자
  • / obj

참고 : 솔루션에 포함 된 모든 프로젝트 (테스트 프로젝트 포함)에서 / bin 및 / obj를 모두 삭제합니다.


3

TFS에 문제가 숨겨져 있습니다. TFS에서 TestProject ... \ packages 폴더를 제거하고 체크인 한 후 로컬 디렉터리에서 삭제 한 다음 다시 빌드해야합니다. 작동했습니다!


3

패키지 폴더에서 모두 삭제하고 솔루션을 다시 빌드합니다. 그것은 나를 위해 일했습니다.



2

아래 단계를 사용하십시오.

1) 패키지 폴더를 삭제합니다.
2) Visual Studio를 닫습니다.
3) 프로젝트를 열고 프로젝트를 다시 빌드하십시오.


1

제 경우 해결책은 다음과 같습니다.

Windows 탐색기를 사용하여 문제가있는 경로로 이동합니다. C : \ MyApplication \ Code \ Main \ ABCProject \ ABCProject.UI \ Bin

bin 폴더를 마우스 오른쪽 버튼으로 클릭하고 속성을 선택하고 ReadOnly를 선택 취소합니다.


1

제 경우 해결책은 다음과 같습니다.

  1. 솔루션을 마우스 오른쪽 버튼으로 클릭하십시오.
  2. 이 솔루션에 대한 Nuget 패키지 관리로 이동하십시오.
  3. 를 검색합니다 Microsoft.CodeDom.Providers.DotNetCompilerPlatform.
  4. 검색된 패키지를 제거합니다.
  5. Visual Studio를 다시 시작하십시오.


0

솔루션을 마우스 오른쪽 버튼으로 클릭하십시오. 이 솔루션에 대한 Nuget 패키지 관리로 이동하십시오. 찾아보기 섹션에서 Microsoft.Net.Compilers를 검색합니다.



0

vs2017 커뮤니티에서 "빌드"메뉴에 새 항목이 나타났습니다. 그것을 사용한 후에 사라졌고 " Optimize project build packages " 와 같은 이름으로 불 렸습니다 . 나는 그것을 클릭하고 모든 것을 고쳤고, 다시 시작하는 등 두 대의 컴퓨터에서 그것을했습니다.

그것이 한 일은 제거 Microsoft.net.compilers 2.10.0되고 대체되었습니다.Microsoft.CodeDom.Providers.DotNetCompilerPlatform 2.0.1

그래서 거기에-더 많은 automagic ...


0

내 프로젝트는 .Net Core 2.2로 빌드되었지만 .Net Core 3.0 미리보기가 설치되어 있습니다. 시스템에서 .Net Core 3.0을 제거하고 모든 클래스 라이브러리를 살펴보고 Microsoft.Net.Compilers 3.0을 제거한 다음 다시 빌드하고 작동했습니다.


0

내 솔루션을 한 드라이브에서 다른 드라이브로 옮겼는데 "사용 중"을 클릭하여 무시하고이 게시물에 설명 된 오류가 발생했기 때문에 파일 중 하나를 복사 할 수 없습니다. 누락 된 파일을 수동으로 복사하면 문제가 해결되었습니다.

파일 : Microsoft.Build.Tasks.CodeAnalysis.dll 대상 디렉터리 : packages \ Microsoft.Net.Compilers.2.1.0 \ tools


0

나를 위해 VS 2013에서 MVC5 프로젝트를 열려고 했는데이 오류가 발생했습니다 .VS 2017에서 열었을 때 정상적으로 작동했습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.