Sự cố xây dựng .NET 4.0 trên máy chủ CI


99

Có ai quản lý để biên dịch ứng dụng .NET 4.0 trên máy chủ CI mà không cần cài đặt Visual Studio 2010 trên máy chủ CI không?

Không có SDK nào cho .NET 4.0. Đã cài đặt .NET 4.0 trên Máy chủ CI. Msbuild.exe hoạt động cho các dự án đơn giản và đưa ra cảnh báo sau:

(Mục tiêu GetReferenceAssemblyPaths) -> C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Microsoft.Common.targets (847,9): cảnh báo MSB3644: Cụm tham chiếu cho khuôn khổ ".NETFramework, Version = v4.0" không được tìm thấy. Để giải quyết vấn đề này, hãy cài đặt SDK hoặc Gói nhắm mục tiêu cho phiên bản khung này hoặc nhắm mục tiêu lại ứng dụng của bạn đến một phiên bản khung mà bạn đã cài đặt SDK hoặc Gói nhắm mục tiêu. Lưu ý rằng các hội đồng sẽ được giải quyết từ Bộ đệm ẩn lắp ráp toàn cầu (GAC) và sẽ được sử dụng thay cho các hội đồng tham chiếu. Do đó, lắp ráp của bạn có thể không được nhắm mục tiêu chính xác cho khuôn khổ mà bạn dự định.


1
Làm cách nào để biến lỗi này thành lỗi nghiêm trọng hơn là cảnh báo? Nó bị ẩn trong nhật ký xây dựng của chúng tôi và thay vào đó nó bị lỗi thêm với một số thông báo khó hiểu về mscorlib.dll
Colonel Panic

Tôi đã viết một bài chi tiết về vấn đề này ở đây: neelbhatt.com/2018/05/04/…
Neel

Câu trả lời:


128

Bạn không cần cài đặt VS nữa, bạn có thể cài đặt "Microsoft Windows SDK cho Windows 7 và .NET Framework 4" ngay bây giờ.

http://www.microsoft.com/downloads/details.aspx?displaylang=vi&FamilyID=6b6c21d2-2006-4afa-9702-529fa782d63b


44
Cài đặt mặc định là 1,7 GB, nhưng hầu hết các tệp này là không cần thiết. Nếu bạn bỏ chọn mọi thứ ngoại trừ .NET Development> Intellisense và Reference Assemblies vẫn sẽ cung cấp cho bạn gói nhắm mục tiêu .NET 4 mà bạn cần (khoảng 450 MB).
Luke Sampson

1
Bạn cũng có thể muốn kiểm tra Phát triển .NET> Công cụ vì điều đó sẽ mang lại một số tiện ích như sn.exe có ích cho việc xử lý các tập hợp đã ký.
Mykro

8
Ngoài ra còn có một trình cài đặt web để bạn chỉ phải tải xuống các phần cần thiết. Có thể tải xuống tại đây: microsoft.com/download/en/confirmation.aspx?id=8279
Rasmus

2
Mặc dù điều này được đặt tên là "dành cho Windows 7", điều đáng chú ý là hệ điều hành được hỗ trợ: Windows 7, Windows Server 2003 R2 Standard Edition (32-bit x86), Windows Server 2003 R2 Standard x64 Edition, Windows Server 2008, Windows Server 2008 R2 , Windows Vista, Windows XP Service Pack 3
Aligma

2
Câu trả lời đó giúp tôi. Tôi đã gặp sự cố khác khi cài đặt sdk 7.1 đã được giải quyết như được hiển thị ở đây mathworks.com/matlabcentral/answers/95039
ari

23

SDK cho .NET 4.5 có sẵn tại đây . Trình cài đặt hoạt động tốt với proxy có ủy quyền cơ bản. Hệ điều hành được hỗ trợ: Windows 8, Windows Server 2012, Windows 7, Windows Server 2008 R2

Tái bút: Câu trả lời của tôi giống như một nhận xét cho câu trả lời của Jeremy , nhưng tôi không đủ uy tín để bình luận về câu trả lời.


1
Từ trang được tham chiếu: "Windows SDK không còn đi kèm với môi trường xây dựng dòng lệnh hoàn chỉnh nữa. Windows SDK giờ đây yêu cầu cài đặt riêng một trình biên dịch và môi trường xây dựng." Vì vậy, tôi cho rằng điều này là không đủ để chạy một máy chủ xây dựng.
Chris

1
CÁi này đã sửa nó giúp tôi. Bạn chỉ phải chọn tùy chọn "Bộ phát triển phần mềm .NET Framework 4.5" chỉ yêu cầu 62,3 MB và hoạt động tốt trên máy chủ TFS Build 2013 được cài đặt trên Windows Server 2012 R2 để triển khai Ứng dụng SharePoint. Không cần ghi đè tham số FrameworkPathOverride.
Koen Zomers

10

thay thế khác: mà không cần cài đặt Net 4.0 SDK hoặc so với 2010

Sao chép thư mục hội đồng tham chiếu từ máy phát triển của bạn để xây dựng máy chủ (190MB).

sử dụng tùy chọn msbuild -p: FrameworkPathOverride để trỏ đến thư mục hội đồng tham chiếu

vị trí các cụm tham chiếu:

C: \ Program Files (x86) \ Reference Assemblies \ Microsoft \ Framework \ .NETFramework \ v4.0 hoặc C: \ Program Files \ Reference Assemblies \ Microsoft \ Framework \ .NETFramework \ v4.0

tìm thấy cái này từ:

Cảnh báo cụm tham chiếu máy chủ xây dựng .NET 4.0 MSB3644

Nếu bạn gặp lỗi này: "Không tìm thấy Microsoft.WebApplication.targets" - chỉ cần sao chép mục tiêu từ máy phát triển https://stackoverflow.com/a/5344246/423356

nếu mvc3 không được cài đặt trong máy chủ xây dựng; "thêm các tổ hợp có thể triển khai" vào dự án mvc http://haacked.com/archive/2011/05/25/bin-deploy-asp-net-mvc-3.aspx

Nếu bạn gặp lỗi khi xây dựng dự án MSTest mà không cài đặt sdk hoặc visual studio; Có một số bài đăng trên blog về điều này, tệ là giải pháp quá phức tạp đối với tôi. Tôi sử dụng NUnit thay vì MSTest


Vì máy chủ 2012 của tôi sẽ không cho phép tôi cài đặt .Net 4 vì trình cài đặt cho biết có phiên bản cao hơn. Tôi đã làm những gì @kite nói và sao chép từ PC mà tôi có là VS 2012 đã được cài đặt. Điều này đã giải quyết các vấn đề của tôi.
chdev77,

0

Trang này liệt kê các SDK .NET cho từng phiên bản Visual Studio. http://blogs.msdn.com/b/dotnet/p/dotnet_sdks.aspx

Để tải xuống nhỏ hơn, hãy chọn 'gói nhà phát triển' hoặc 'gói nhắm mục tiêu' thay vì SDK Windows đầy đủ.


Đó có thể là một mẹo chung để cài đặt gói dành cho nhà phát triển hoặc gói nhắm mục tiêu, nhưng cụ thể đối với .NET Framework 4.0 (câu hỏi này là về tất cả) không có gói như vậy và Windows SDK là không thể tránh khỏi.
Lex Li
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.