누군가 다른 사람이이 문제에 다시 직면했을 때를 대비하여 여기에 던져주세요. NuGet을 통해 MSBuildCommunityTasks를 설치하면 .build 폴더가 솔루션에 추가되어 소스 코드로 체크인하는 것이 좋습니다. 그러나 MSBuild.Community.Tasks.targets 파일은 올바르지 않은 c : \ Program Files (x86) 폴더를 가리키는 <MSBuildCommunityTasksPath>
요소를 가지고 있습니다. 이 폴더는 MSI를 사용하여 MsBuildCommunityTasks를 설치할 때 유효합니다. 솔루션의 패키지 폴더에 MsBuildCommunityTasks를 설치하는 Nuget의 경우에는 유효하지 않습니다. 그래서 .targets 파일을 수정 결국,과를 가리 키도록 MSBuildCommunityTasksPath
을 변경 :
<MSBuildCommunityTasksPath>$(SolutionDir)\packages\MSBuildTasks.1.4.0.56\tools</MSBuildCommunityTasksPath>
아직
없는 주사위입니다. 그래서 마지막으로, 난 그냥 웹 프로젝트 파일 편집,이에 MSBuildCommunityTasks에 대한 가져 오기 요소를 변경 : 직접적 패키지 폴더에 .Targets 파일을 찾을 수있는 프로젝트를 알 수 있기 때문에
<Import Project="$(SolutionDir)\packages\MSBuildTasks.1.4.0.56\tools\MSBuild.Community.Tasks.Targets"/>
이, 작동합니다. MSBuildTasks 버전을 업그레이드 할 경우 Import 요소를 변경해야한다는 점에 유의하십시오. 저는 MsBuild 멍청한 놈입니다. 누군가가 이것을 자동화하는 방법을 말해 줄 수 있다면, 좋을 것입니다!
이 답변은 매우 도움이되었지만 NuGet이 대상 파일을 저장하는 디렉토리는 현재 $ (SolutionDir) \. build'라는 것을 알았습니다. 따라서 위의 설정이 작동하지 않으면 ' $ (SolutionDir) \. build MSBuildCommunityTasksPath>' –
providencemac
'.build' 폴더를 추가 한 NuGet 패키지의 PowerShell 스크립트가 버전 1.5부터 제거되었지만 '시작하기' '가이드는 여전히 그것을 사용하는 것이 좋습니다. 나는 [문제] (https://github.com/loresoft/msbuildtasks/issues/258)를 제기했습니다. – Neo