Tôi đã có một giải pháp .NET với mục tiêu quản lý C++ assemlby .NET 3.5 được tạo với VS2010. Lệnh:Làm thế nào để xây dựng một dự án VS2010 C++ trên một BuildServer
%windir%\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe MyProject.sln
biên dịch giải pháp trên máy tính của tôi.
On buildserver của tôi, tôi nhận được lỗi này:
Build FAILED.
"F:\CruiseControl.NET\Projects\MyProject\MyProject.sln" (default target) (1) -> "F:\CruiseControl.NET\Projects\MyProject\MyProject\MyProject.csproj" (default target) (2) -> "F:\CruiseControl.NET\Projects\MyProject\MyProjectMAPIHelper\MyProjectMAPIHelper.vcxproj" (default target) (3) ->
F:\CruiseControl.NET\Projects\MyProject\MyProjectMAPIHelper\MyProjectMAPIHelper.vcxproj(23,3): error MSB4019: The imported project "C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.Cpp.Default.props" was not found. Confirm that the path in the<Import>
declaration is correct, and that the file exists on disk.0 Warning(s) 1 Error(s)
Trên máy dev của tôi tập tin tuyên bố
"C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.Cpp.Default.props"
tồn tại. Trên máy chủ xây dựng của tôi không.
Khi tôi cố gắng sao chép tệp này (và tất cả các tệp khác trong cùng một thư mục), các lỗi khác đã xảy ra. Vì vậy, đây là cách sai.
EDIT: các lỗi khác có nghĩa là: Khi tôi sao chép tệp "Microsoft.Cpp.Default.props" trên máy chủ xây dựng, MSBuild đang xác nhận quyền sở hữu các tệp khác. Điều đó cho thấy tôi, rằng chỉ cần làm một bản sao của các tập tin bị thiếu không phải là những gì môi trường xây dựng được mong đợi. Tôi đang tìm một gói MSI/bất cứ thứ gì mà tôi có thể cài đặt trên máy chủ xây dựng của tôi và bất kỳ Dự án C++ nào sẽ xây dựng. Cài đặt SDK không phải là mẹo. Hoặc tôi đã làm điều gì sai trong khi cài đặt SDK. Hoặc không thể biên dịch các giải pháp Managed C++ VS2010 chỉ với SDK.
Tôi tin rằng "các lỗi khác" không liên quan gì đến vấn đề của tôi. Vấn đề của tôi là: "Làm thế nào để thiết lập môi trường xây dựng của tôi một cách chính xác". /EDIT
Những gì tôi đã làm cho đến bây giờ:
- Tôi đã cài đặt mới nhất của Win7 SDK (http://blogs.msdn.com/b/windowssdk/archive/2010/05/25/released-windows-sdk-for-windows-7-and-net-framework-4.aspx)
- Tôi đang nhắm mục tiêu .net 3.5
- Tôi đã thử chơi với thuộc tính Platform Toolset - nhưng nó chỉ đang chơi
- Trong giải pháp của tôi, có một Hội đồng C++ được quản lý (Vấn đề của tôi)
- Tôi đang sử dụng MSBuild 4.0 vì các tệp dự án VS2010 mới không thể được biên dịch bằng MSBuild 3.5
- Tôi đang sử dụng CC.NET. biên dịch không thành công trong CC.NET và trên dòng lệnh. Vì vậy, nó không phải là một vấn đề CC.NET.
Có mẹo và thủ thuật nào để định cấu hình dự án của tôi đúng cách để biên dịch trên máy tính của tôi với VS2010 và trên máy chủ xây dựng của tôi không? Có bất cứ điều gì thêm để cài đặt (trừ VS2010)?
Cảm ơn, Arthur
Câu hỏi: Bạn có bị khóa cứng vào CC.Net hay bạn có khả năng xem xét nâng cấp lên cái gì khác không? – Caladain
Tôi không nghĩ rằng việc thay đổi sang một công nghệ tích hợp liên tục khác sẽ thay đổi bất cứ điều gì. Như Arthur nói, xây dựng thất bại bằng cách sử dụng MSBuild đồng bằng. Điều này có vẻ là một vấn đề với .Net 4.0 mạnh mẽ hơn gắn liền với SDK 7.0A hơn nó phải được. –
Vâng, đúng vậy. biên dịch không thành công trên dòng lệnh với MSBuild. CC.NET chưa được tham gia. – Arthur