Development Tip

파일 또는 어셈블리 'Microsoft.Build.Framework'(VS 2017)를로드 할 수 없습니다.

yourdevel 2020. 12. 10. 21:21
반응형

파일 또는 어셈블리 'Microsoft.Build.Framework'(VS 2017)를로드 할 수 없습니다.


"update-database"명령을 실행하려고하면 다음 예외가 발생합니다.

대상 데이터베이스에 적용되는 SQL 문을 보려면 '-Verbose'플래그를 지정하십시오. System.IO.FileNotFoundException : 파일 또는 어셈블리 'Microsoft.Build.Framework, Version = 15.1.0.0, Culture = neutral, PublicKeyToken = b03f5f7f11d50a3a'또는 해당 종속성 중 하나를로드 할 수 없습니다. 시스템이 지정된 파일을 찾을 수 없습니다. 파일 이름 : 'Microsoft.Build.Framework, Version = 15.1.0.0, Culture = neutral, PublicKeyToken = b03f5f7f11d50a3a'

WRN : 어셈블리 바인딩 로깅이 꺼져 있습니다. 어셈블리 바인딩 실패 로깅을 사용하려면 레지스트리 값 [HKLM \ Software \ Microsoft \ Fusion! EnableLog] (DWORD)를 1로 설정하십시오. 참고 : 어셈블리 바인딩 실패 로깅과 관련된 성능 저하가 있습니다. 이 기능을 해제하려면 레지스트리 값 [HKLM \ Software \ Microsoft \ Fusion! EnableLog]를 제거하십시오.

파일 또는 어셈블리 'Microsoft.Build.Framework, Version = 15.1.0.0, Culture = neutral, PublicKeyToken = b03f5f7f11d50a3a'또는 해당 종속성 중 하나를로드 할 수 없습니다. 시스템이 지정된 파일을 찾을 수 없습니다 .`


나는 당신과 같은 문제가 있다고 생각합니다 (전체 오류 메시지를 저장하지 않았지만 내 오류 메시지는

' 파일 또는 어셈블리'Microsoft.Build.Framework, Version = 15.1.0.0, Culture = neutral, PublicKeyToken = b03f5f7f11d50a3a '또는 해당 종속성 중 하나를로드 할 수 없습니다. 시스템이 지정된 파일을 찾을 수 없습니다. '

Visual Studio 2017을 사용하고 있으며 Add-Migration 후 Update-Database를 시도했습니다.

문제를 해결하기 위해 Visual Studio를 닫았다가 다시 연 다음 Update-Database를 다시 실행했습니다.

이렇게하면 문제가 해결 될 수도 있고 해결되지 않을 수도 있지만 도움이 될 경우를 대비하여 게시 할 것이라고 생각했습니다.


이 문제의 근본 원인은 devenv.exe.config파일의 상대 경로에서 비롯 됩니다 Microsoft.Build.Framework.dll(xml 태그 참조).

일부 Visual Studio 확장은 현재 디렉터리를 변경하고 상대 경로를 유효하지 않게 만듭니다.

이 문제를 해결하려면 C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\디렉터리 에서이 파일을 엽니 다 . 모든 교체 ..\..\MSBuild\15.0\Bin\에 의해 C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\.


적어도 VS 2017 Professional 15.5.2 및 Entity Framework 6.1.1을 실행하는 내 환경에서 문제를 해결하는 것으로 보이는 해결 방법을 찾았습니다.

기본적으로 DLL (관련 몇 가지 포함)을 GAC (Global Assembly Cache)에 설치하면 문제가 사라집니다.

이 단계를 따르세요:

1- Visual Studio 2017의 실행중인 모든 인스턴스를 닫습니다.

2- Visual Studio 2017 개발자 명령 프롬프트 시작

3- 다음 명령을 입력합니다 (Professional를 Enterprise 또는 Community 에디션으로 바꾸거나 그에 따라 경로를 조정).

gacutil / i "C : \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ Professional \ MSBuild \ 15.0 \ Bin \ Microsoft.Build.Framework.dll"

gacutil / i "C : \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ Professional \ MSBuild \ 15.0 \ Bin \ Microsoft.Build.dll"

gacutil / i "C : \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ Professional \ MSBuild \ 15.0 \ Bin \ Microsoft.Build.Engine.dll"

gacutil / i "C : \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ Professional \ MSBuild \ 15.0 \ Bin \ Microsoft.Build.Conversion.Core.dll"

gacutil / i "C : \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ Professional \ MSBuild \ 15.0 \ Bin \ Microsoft.Build.Tasks.Core.dll"

gacutil / i "C : \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ Professional \ MSBuild \ 15.0 \ Bin \ Microsoft.Build.Utilities.Core.dll"

4- Visual Studio 2017 다시 시작

본질적으로 .NET이 DLL을로드하려고 할 때 GAC (대부분의 경우)에 우선 순위가 부여되고 DLL이 이제 GAC를 통해 해결되므로 FileNotFoundException이 사라집니다.

다시 말하지만, 그것은 저에게 효과적이며 단순히 해결 방법입니다. 핵심 문제 자체를 해결하지는 못하지만 적어도 EF 마이그레이션 작업을 시도 할 때 항상 VS를 다시 시작할 필요는 없으며 저에게 충분합니다.


Visual Studio를 다시 시작해도 작동하지 않는 경우 작업 관리자 / 프로세스 탐색기로 이동하여 VBCSCompiler.exe 기술

여기에 이미지 설명 입력

Process Explorer 사용 제안


내 누락 된 파일 또는 어셈블리 버전이 질문과 다릅니다.

ASP.net 프로젝트를 게시하려고 할 때이 오류가 발생합니다.

Microsoft.Build.Framework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a

Microsoft Build Tools 2015를 설치하여 문제를 해결했습니다.

VS 2017에서 VS 2015로 빌드 한 프로젝트를 발표했기 때문에 발생한 문제라고 생각합니다. 희망은 같은 문제를 가진 다른 사람들을 도울 수 있습니다.


Visual Studio를 닫았다다시 열면 매력처럼 작동합니다!


우리는이 문제가 있었고, 우리의 경우에 우리가해야 할 일은 다음과 같습니다.

문제는 ] (IDbCommandInterceptor)를 호출 하는 데이터베이스 명령 인터셉터가 구성되어 있었고 HttpRuntime.Cache["somekey"어떤 이유로 이로 인해 마이그레이션 명령을 실행하지 못했습니다. 이 의존성을 제거한 후 모든 명령이 완벽하게 실행되었습니다. 아마도 HttpRuntimeBuild Framework dll을 찾지 못했습니까?

따라서 마이그레이션 명령이 비슷한 문제가 있는지 확인하지 못하면 전체 호출 스택 을 확인하십시오.


이미 게시 해 주신 분들께 감사드립니다. 내 상황은 위의 조합으로 해결되었습니다. 몇 가지 버전의 Visual Studio (2015, 2017, 2019)가 있습니다. 어느 시점에서 MSBUILD 버전은 15.1에서 15.9로 변경되었습니다. 15.9 라이브러리를 가리 키도록 C : \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ Professional \ Common7 \ IDE \ devenv.exe.config 파일을 업데이트하여이 문제를 해결했습니다. 다음은 항목 중 하나의 예입니다.

참고 URL : https://stackoverflow.com/questions/43330915/could-not-load-file-or-assembly-microsoft-build-frameworkvs-2017

반응형