không thể định vị nuget.exe khi xây dựng dịch vụ web trên appharbor


87

Tôi đang cố gắng triển khai dịch vụ web của mình tại appharbor bằng codeplex. Sau khi thử nó lần đầu tiên và thực hiện một số nghiên cứu, tôi phát hiện ra rằng tôi phải sử dụng NuGet nên các tài liệu tham khảo đang được tìm thấy ..

Bây giờ tôi chỉ còn 1 lỗi mà tôi không biết làm thế nào để giải quyết

   "D:\temp\g3wyilvx.uln\input\WebService\Webservice.sln" (default target) (1) ->
   "D:\temp\g3wyilvx.uln\input\WebService\Webservice\Webservice.csproj" (default target) (2) ->
   (CheckPrerequisites target) -> 
     D:\temp\g3wyilvx.uln\input\WebService\.nuget\nuget.targets(72,9): error : Unable to locate 'D:\temp\g3wyilvx.uln\input\WebService\.nuget\nuget.exe' [D:\temp\g3wyilvx.uln\input\WebService\Webservice\Webservice.csproj]
0 Warning(s)
1 Error(s)
Time Elapsed 00:00:00.17

Làm cách nào để giải quyết lỗi này? Bất kỳ liên kết hữu ích nào có thể giúp tôi trong tương lai cũng được đánh giá cao.

Câu trả lời:


202

Tôi đã giải quyết vấn đề này bằng cách thay đổi dòng này trong tệp NuGet.targets của mình và đặt nó thành true:

<DownloadNuGetExe Condition=" '$(DownloadNuGetExe)' == '' ">true</DownloadNuGetExe>

Nhưng bạn phải khởi động lại Visual Studio hoặc tải lại giải pháp ( xem phần này ) để điều này có hiệu lực.


10
Ôi trời, bạn thật tuyệt vời, sau khi lãng phí 2 giờ cuối cùng giải pháp của bạn đã có hiệu quả với tôi yêu bạn :)
UMAR-MOBITSOLUTIONS

3
Cảm ơn bạn rất nhiều - tôi yêu SO
adaam

2
Thật là một viên ngọc quý, không thể đợi vấn đề này xuất hiện trong văn phòng.
tyler_mitchell

2
Đây là câu trả lời thành công
Isaac

1
Đối với bất kỳ ai không thể tìm thấy nó, tệp nuget.targets nằm trong thư mục con .nuget / (thường ẩn) của thư mục dự án.
Jeff Hay

101

Tôi đã giải quyết vấn đề bằng cách nhấp chuột phải vào Giải pháp và nhấp vào

Enable NuGet Package Restore

9
Tôi không tìm thấy tùy chọn nhất định của bạn trong studio trực quan 2012 của tôi, không giải pháp hay trong bất kỳ dự án nào.
UMAR-MOBITSOLUTIONS,

14

Các tệp thực thi có thể bị bỏ qua trong .gitignore của bạn qua

*.exe 

Thêm dòng này vào .gitignore:

!.nuget/NuGet.exe

Điều đó áp dụng cho tôi. Cảm ơn bạn.
Blaise

3
  • Bật khôi phục gói NuGet nhập mô tả hình ảnh ở đây
  • Nhấp chuột phải vào giải pháp sau đó
  • chọn Bật Khôi phục Gói NuGet


0

Tôi phải đối mặt với vấn đề này, khi một đồng nghiệp của tôi thêm một dự án mới trong giải pháp. Anh ấy đã thêm các gói mới từ nuget. Câu trả lời được xếp hạng cao nhất ở trên không được chấp nhận đối với tôi vì khi tôi cập nhật các gói nuget, nó sẽ cập nhật tất cả các thư viện được tham chiếu trong dự án.

Cách tôi loại bỏ lỗi này, chỉ bằng cách xóa các importcâu lệnh cho gói nuget khỏi các tệp .csproj.

Để làm như vậy, hãy nhấp chuột phải vào tệp .csproj và mở nó trong notepad và xóa câu lệnh.

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.