'Microsoft.Build.Tasks.v14.0.dll'을 찾을 수 없기 때문에 Visual Studio 2015에서 빌드 할 수 없습니다.
Visual Studio 2015에서 빌드하려고 할 때 다음 파일이 누락 되었습니까? 이 프로젝트는 이전에 VS2013에서 빌드되었습니다.
심각도 코드 설명 프로젝트 파일 줄 오류 "C : \ Program Files (x86) \ MSBuild \ 14.0 \ bin \ Microsoft.Build.Tasks.v14.0.dll"어셈블리에서 작업 팩토리 "CodeTaskFactory"를로드 할 수 없습니다. 파일 또는 어셈블리 'file : /// C : \ Program Files (x86) \ MSBuild \ 14.0 \ bin \ Microsoft.Build.Tasks.v14.0.dll'또는 해당 종속성 중 하나를로드 할 수 없습니다. 시스템이 지정된 파일을 찾을 수 없습니다.
어셈블리의 이름이 변경되었습니다. CodeTaskFactory MSBuild 작업에서 AssemblyFile 매개 변수를 ...로 변경합니다 (오류에이 작업이있는 대상 파일 이름이 있어야 함).
AssemblyFile="C:\Program Files (x86)\MSBuild\14.0\Bin\Microsoft.Build.Tasks.Core.dll"
누군가가 영리하고 이와 같은 MSBuild 속성을 사용하려고 시도했을 가능성이 있습니다. (MSBuild 14에서는 작동하지 않지만 12에서는 작동합니다) ...
AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v$(MSBuildToolsVersion).dll"
그냥 참고로 ... Microsoft.Build.Utilities.v12.0.dll
로 이름이 변경된 것과 같은 다른 것들이 있습니다.Microsoft.Build.Utilities.Core.dll
Visual Studio 2017에서 저에게 도움이 된 것은 Microsoft.Build.Tasks.Core.dll을 복사하고 이름을 Microsoft.Build.Tasks.v15.0.dll로 변경하는 것입니다.
제 경우에는 SFML.NET nuget 패키지의 문제였습니다.
빌드가 실패한 이유는 오래된 Nuget Baseclass.Contrib.Nuget.Output 구성 요소에 의존했습니다.
.Net 4.6으로 수동으로 업데이트 한 후 프로젝트 파일에서 모든 nuget staff를 삭제하고 프로젝트에서 파일을 삭제하고 Baseclass.Contrib.Nuget.Output의 모든 종속성을 다시 읽었습니다.
Visual Studio를 처음 다시 시작하면 나를 위해 일했습니다.
두 번째로이 오류가 다시 발생하고 업데이트했습니다.
Install-Package Baseclass.Contrib.Nuget.Output -Version 2.2.0-xbuild02
Visual Studio를 다시 시작하는 것으로 충분했습니다.
이전에 다른 작업을 수행하는 모든 MSBuild.exe 프로세스를 종료했으며 MSBuild.exe 프로세스가 없으면 오류가 발생한다고 생각합니다.
Gary의 답변에 따라 다음과 같이 매개 변수화했습니다.
<Choose>
<When Condition="'$(MSBuildToolsVersion)'=='14.0'">
<PropertyGroup>
<TasksAssemblyName>Microsoft.Build.Tasks.Core</TasksAssemblyName>
</PropertyGroup>
</When>
<Otherwise>
<PropertyGroup>
<TasksAssemblyName>Microsoft.Build.Tasks.v$(MSBuildToolsVersion)</TasksAssemblyName>
</PropertyGroup>
</Otherwise>
</Choose>
<UsingTask TaskName="SecondsSinceEpoch" TaskFactory="CodeTaskFactory" AssemblyFile="$(MSBuildToolsPath)\$(TasksAssemblyName).dll">
내 솔루션 : "* .csproj"파일에서 두 행 제거 :
<Error Condition="!Exists('$(SolutionDir)\.nuget\NuGet.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\.nuget\NuGet.targets'))" />
<Import Project="$(SolutionDir)\.nuget\NuGet.targets" Condition="Exists('$(SolutionDir)\.nuget\NuGet.targets')" />
제 경우에는 루트에서 "ls.pubignore.wpp.targets"파일을 제거했습니다. 그리고 그것은 오류를 제거했습니다. :)
내 경우에는 VS2015에서 NuGet 패키지 관리자의 일부 패키지를 업데이트 한 다음 vs2015가 설치되지 않은 다른 컴퓨터에서 vs2013에서 동일한 솔루션을 열려고했습니다.
Microsoft Build Tools 2015를 설치하면 오류가 해결되었습니다. 그러면 GAC에 Microsoft.Build.Utilities.Core.dll이 추가되어 작동하게됩니다.
https://www.microsoft.com/en-in/download/details.aspx?id=48159
Visual Studio 2017의 경우 이것이 저에게 효과적이며 제공된 두 가지 솔루션이 혼합되어 있습니다. 둘 다 자체적으로 작동하지 않았으므로 이것이 새로운 답변으로 제출하는 이유입니다.
파일에서 C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\Microsoft\VisualStudio\v15.0\CodeAnalysis\Microsoft.CodeAnalysis.Targets
교체 AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v12.0.dll">
로AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.Core.dll">
그런 다음 C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\Microsoft.Build.Tasks.Core.dll
동일한 폴더에 이름을 가진 파일을 복사하십시오.Microsoft.Build.Tasks.v15.0.dll
'Nice programing' 카테고리의 다른 글
iOS7의 UITextView는 텍스트 문자열의 마지막 줄을 자릅니다. (0) | 2021.01.10 |
---|---|
IE 브라우저의 텍스트 필드에서 Selenium WebDriver 입력이 매우 느림 (0) | 2021.01.10 |
클래스의 모든 인스턴스 인쇄 (0) | 2021.01.10 |
XSL "포함"지시문이 있습니까? (0) | 2021.01.10 |
일반 배열을 포함하는 객체의 GetHashCode 재정의 (0) | 2021.01.10 |