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.