2012-12-20 33 views
32

Tôi đang cố gắng xây dựng một dự án csproj với msbuild, nhưng có tất cả các loại vấn đề lạ với nó phàn nàn về việc không tìm kiếm nuget.targets.Lỗi MSBuild tìm tập tin nuget.targets

tôi chạy đơn giản nhất của dòng lệnh được xây dựng với MSBuild:

Msbuild Project.csproj 

Và đó làm việc trong thư mục dev bình thường của tôi, nhưng trong một vị trí thư mục, nó không thành công với các lỗi này:

error MSB4019: The imported project "C:\BuildAgent\work\CableSense\.nuget\nuget.targets" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk.

Đường dẫn đó (C:\BuildAgent\work\CableSense\.nuget\nuget.targets) thực sự là sai và thiếu một thư mục sau khi làm việc (work \ somefolder \ cablesense), nhưng tôi đang thua lỗ tại sao. Lạ lùng hơn, nếu tôi xây dựng một dự án khác là một phần của giải pháp, thì nó hoạt động, nó chỉ là dự án này.

Các csproj xác định vị trí của nuget.targets nộp như thế này:

<Import Project="$(SolutionDir)\.nuget\nuget.targets" /> 

Và SolutionDir được định nghĩa như sau:

<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir> 

Mà là giống như các dự án khác mà không công việc. Ý tưởng nào?

Trả lời

54

Argh! Sau khi đăng bài này tôi đã tìm thấy vấn đề .. Về cơ bản, dự án có phụ thuộc vào các dự án khác. Tệp csproj cho các dự án có liên quan đó hơi sai - và có điều này là SolutionDir:

<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\CableSense\</SolutionDir> 

Điều gì sau đó đã gây ra vấn đề! Hy vọng điều này sẽ giúp người khác ở đó, tôi cảm thấy xấu cho trả lời câu hỏi của riêng tôi bây giờ.

+10

Vâng, Matt, bạn nói rằng gây ra vấn đề, nhưng bạn đã không nói cách bạn sửa nó. Tôi gặp vấn đề tương tự, và nhìn vào câu trả lời của bạn, tôi vẫn không biết phải làm gì để giải quyết vấn đề này. – Stack0verflow

+5

Về cơ bản, hãy kiểm tra các dự án có liên quan đó để xem đường dẫn được sử dụng nếu SolutionDir không hiện diện là chính xác (trong bài đăng đó là ../../CableSense sai) –

+0

Ồ không, tôi có cùng vấn đề . Có cách nào tự động sửa chữa các thư mục giải pháp? Tôi có rất nhiều tệp csproj để chỉnh sửa nếu không :-( –

3

OK, vì vậy, tôi đã gặp lỗi tương tự gần đây nhưng giải pháp đã làm việc khác với tôi.

Trong Định nghĩa bản dựng, trong Cài đặt nguồn, tôi đã đặt Thư mục kiểm soát nguồn vào thư mục của dự án thực tế thay vì thư mục gốc cho giải pháp.

Tôi biết đây là một chuỗi đã được trả lời cũ, nhưng điều này có thể giúp một người nào đó mắc phải sai lầm tương tự mà tôi đã làm.

0

đối với tôi Tôi vừa thay đổi vị trí giải pháp, để có vị trí ngắn.

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