2013-02-01 33 views
15

Tôi nhận lỗi này trên máy chủ CI của tôi:WCF lỗi biên dịch trên máy chủ CI: không tìm thấy Microsoft.VisualStudio.ServiceModel.targets

lỗi MSB4019: Dự án nhập khẩu "C: \ Program Files (x86) \ MSBuild \ Microsoft \ VisualStudio \ WCF \ Microsoft.VisualStudio.ServiceModel.targets" không được tìm thấy

có vẻ như thư viện dịch vụ WCF tài liệu tham khảo dự án của tôi mà nộp, nhưng thư mục VisualStudio trên Program Files\MSBuild\Microsoft không chứa một thư mục WCF .

Tôi đoán tôi cần phải cài đặt một thứ gì đó trên máy chủ.

Tôi cần cài đặt gì?

+0

Cài đặt cửa sổ microsoft SDK sẽ hoạt động - Đối với cửa sổ máy chủ 2008 liên kết là - http://www.microsoft.com/en-us/download/details.aspx?id=11310 –

+0

@MilanRaval Đã thử rằng, vẫn lỗi tương tự –

Trả lời

26

Vâng này bị hủy hoại buổi sáng của tôi, nhưng chúng ta không cho phép nó làm hỏng bất cứ ai khác. Tôi không thể tìm thấy thông tin này ở bất cứ nơi nào khác. Bạn cần sao chép một vài tệp từ máy phát triển với VS Pro 2012.

Như đã đề cập, bạn cần sao chép một số mục tiêu từ C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\WCF đến cùng vị trí trên máy chủ CI của bạn.

Điều này sau đó tham chiếu đến hội đồng được gọi là Microsoft.VisualStudio.ServiceModel.Core. Bạn có thể tìm thấy hội đồng này trong GAC hoặc trong thư mục IDE tại C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE.

Sao chép này đến máy chủ CI của bạn và thực hiện gacutil.exe -i Microsoft.VisualStudio.ServiceModel.Core.dll

này là đủ để sửa chữa nó cho tôi.

Đây không phải là lần đầu tiên tôi tìm thấy các mục tiêu bị thiếu trong cài đặt VS express của tôi trong máy chủ CI của tôi. Tôi không thể không cảm thấy rằng có một số loại gói tôi có thể tải xuống từ một nơi nào đó lấp đầy tất cả những điều này. Có ai biết điều đó không? Nếu không, có lẽ chúng ta nên tạo một cái.

+1

Gói bạn đang tìm kiếm sẽ là: [Đại lý cho Visual Studio 2012 Update 4] (http: // www .microsoft.com/en-us/download/details.aspx? id = 38186) hoặc [Microsoft Build Tools 2013] (http://www.microsoft.com/en-us/download/details.aspx?id=40760) Ngoại trừ việc điều này không khắc phục được các mục tiêu cho các dự án thư viện WCF. –

+0

hoặc [Đại lý cho Microsoft Visual Studio 2013] (http://www.microsoft.com/en-us/download/details.aspx?id=40750) Khá rõ ràng những gì các trình cài đặt này cài đặt. (nó vẫn làm hỏng buổi sáng của tôi; Tôi ngần ngại cài đặt thư viện bằng gacutil vì điều này có thể làm hỏng một người quản trị hệ thống trong tương lai) –

+0

@RobertSirre Không rõ ý kiến ​​của bạn: đã cài đặt "Đại lý cho Microsoft Visual Studio" ở trên Gói 201X "khắc phục sự cố?" – crush

1

Chạy vào cùng một vấn đề này. Có phải sau để giải quyết:

  1. cài đặt Microsoft Web Platform Installer

  2. sao chép thư mục "C: \ Program Files (x86) \ MSBuild \ Microsoft \ VisualStudio \ WCF" từ máy tính xách tay dev với Visual Studio 2012 đến xây dựng máy chủ

+1

Tôi đã thử sao chép và WCF mục tiêu đến máy chủ CI và không hoạt động. Trình cài đặt nền tảng web chỉ là một ứng dụng để truy xuất các gói khác nhưng không xử lý thư viện WCF hoặc bất kỳ thư viện SDK nào cả. – Maverick

+0

Bạn cần thêm nó vào GAC 'gacutil.exe -i Microsoft.VisualStudio.ServiceModel.Core.dll' – aphexddb

3

Extract tập tin vào thư mục this

C: \ Program Files (x86) \ MSBuild \ Microsoft \ VisualStudio \ WCF

Các tên file là "Microsoft.VisualStudio.ServiceModel.targets"

1

Tôi đã có cùng một lỗi - vấn đề của tôi là MS đã sửa đổi cách MSBuild tìm kiếm các phiên bản của VS trong quá trình xây dựng mẫu.

Đảm bảo sử dụng đúng mẫu quy trình xây dựng. Nếu sử dụng TFS2013 và VS2013, hãy sử dụng TfvcTemplate.12.xaml

1

Tôi đã gặp phải lỗi tương tự này. Trong trường hợp của tôi, vấn đề là dự án Visual Studio 2008 của tôi đã không được nâng cấp đúng cách, có thể do các tệp được đánh dấu "chỉ đọc" bởi điều khiển nguồn của tôi.Để khắc phục nó, tôi đã tải giải pháp trong Visual Studio 2015 với mọi thứ đã được kiểm tra.

Dòng cụ thể trong file csproj thay đổi từ

<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\WCF\Microsoft.VisualStudio.ServiceModel.targets" /> 

Để

<Import Project="$(WcfServiceModelTargetPath)\Microsoft.VisualStudio.ServiceModel.targets" /> 
2

Tôi chạy vào trong này với Visual Studio 2017, đối với tôi có độ phân giải là để thay đổi cài đặt của tôi về Visual Studio để bao gồm các thành phần của Windows Communication Foundation.

+0

Điều này là lý tưởng, các máy chủ CI nên có MSBuild trên đó; nhưng không cần Visual Studio. – Richardissimo

Các vấn đề liên quan