2017-04-07 15 views
7

Folks Tôi đã một tập hợp các dịch vụ đầu tiên được tạo ra trong năm 2012, trong đó - xuống những năm - có liền mạch được xây dựng với Vs2010, Vs2013 & Vs2015.MSBuild.Community.Tasks vấn đề với vs2017

Khi tôi cố gắng xây dựng với Vs2017 tôi nhận được

Các MSBuild.Community.Tasks.Attrib nhiệm vụ không thể được nạp từ lắp ráp Việc lắp ráp sống dưới thư mục C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\MSBuildCommunityTasks, tuy nhiên không có thư mục MSBuildCommunityTasks dưới thư mục \2017\Professional\MSBuild.

Dưới đây là toàn bộ lỗi

C:\working\MySolution\build\Build.proj" (default target) (1) -> 
(SetAssemblyVersion target) -> 
    C:\working\MySolution\build\Build.proj(100,5): error MSB4062: The "MSBuild.Community.Tasks.Attrib" task could not be loaded from the assembly C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\MSBuildCommunityTasks\MSBuild.Community.Tasks.dll. 
    Could not load file or assembly 'file:///C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\MSBuildCommunityTasks\MSBuild.Community.Tasks.dll' or one of its dependencies. 
    The system cannot find the file specified. Confirm that the <UsingTask> declaration is correct, that the assembly and all its dependencies are available, and that the task contains a public class that implements Microsoft.Build.Framework.ITask. 

gì thay đổi giữa Vs2015 và Vs2017?
Tôi cần phải làm gì để khắc phục sự cố này?

+1

Thay đổi chính là đường dẫn cài đặt. Nó bây giờ được lồng trong một thư mục VS, bao gồm một thư mục phiên bản, ngoại trừ trong trường hợp các công cụ xây dựng độc lập cài đặt. Xem [Ghi chú phát hành MSBuild] (https://docs.microsoft.com/en-us/visualstudio/msbuild/what-s-new-in-msbuild-15-0) để biết ghi chú phát hành. Sự cố của bạn có thể do các mục tiêu không được đặt ở vị trí mới chính xác. Có một vấn đề mở trên git của họ [vấn đề MSBuild] (https://github.com/Microsoft/msbuild/issues/1888) cho Azure SDK với một số gợi ý hữu ích để thử. –

+0

Cảm ơn Siobhan, tôi sẽ kiểm tra nó ra thứ hai –

+0

Bạn có thể sao chép 'MSBuildCommunityTasks' nơi tìm kiếm nó. tức là sao chép thư mục 'C: \ Program Files (x86) \ MSBuild \ MSBuildCommunityTasks' thành 'C: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ Cộng đồng \ MSBuild' – wal

Trả lời

3

Đặt rõ ràng thuộc tính MSBuildCommunityTasksPath đã vượt qua sự cố.

Tôi làm điều này ở đầu tệp build.proj của tôi.

(Vì lý do lịch sử, chúng tôi giữ nhiệm vụ xây dựng cộng đồng trong repo của chúng tôi, đó là lý do tại sao nó được thiết lập để một vị trí dưới thân cây)

<MSBuildCommunityTasksPath>$(trunk)\Ref\Build\MSBuildCommunityTasks</MSBuildCommunityTasksPath> 
1

Các phần mở rộng có nhiều khả năng được cài đặt trong 'C: \ Program Files (x86) \ MSBuild '. Vì vậy, tôi hiện đang đặt biến rõ ràng trong proj của tôi như là một workaround.

<MSBuildExtensionsPath>C:\Program Files (x86)\MSBuild</MSBuildExtensionsPath>