Tôi đã thêm một số thư viện vào giải pháp VS 2010 bằng cách sử dụng Nuget (RestSharp, Twilio, v.v.). Khi tôi kéo cùng một giải pháp xuống một máy tính mới từ TFS và cố gắng xây dựng nó, tất cả các tham chiếu đến các assembly đó đều bị hỏng (lỗi "không gian tên không thể tìm thấy ..."). Có cần thiết cho mỗi nhà phát triển làm việc trên giải pháp VS lần đầu tiên để cài đặt độc lập các gói Nuget giống nhau trên máy tính của họ không? Cảm ơn, JimGói Nuget có cần phải được thêm vào bởi mỗi nhà phát triển làm việc trên cùng một dự án VS không?
Trả lời
Không, nhưng bạn cần đảm bảo rằng tất cả các hội đồng được bao gồm trong cùng một đường dẫn tương đối để Visual Studio có thể tìm thấy chúng. Bạn có thể bao gồm các thư mục gói nuget của giải pháp, đó là nơi tôi nghĩ nó lưu trữ một bản sao của các thư viện được tham chiếu bởi (các) dự án.
Ngẫu nhiên, kể cả nói diretories có thể có hiệu quả tương tự như "cài đặt các gói thầu". Nếu bạn bao gồm tất cả các tệp mà NuGet sử dụng trong việc quản lý các gói, NuGet sẽ hoạt động giống như khi bạn đã cài đặt chúng. Nhưng bạn không cần phải cài đặt gói thực tế qua NuGet để nó hoạt động ... hoặc thậm chí có NuGet được cài đặt trong Visual Studio ngay từ đầu. Nó chỉ là một vấn đề của các tập tin thích hợp là nơi mà các tập tin dự án Visual Studio mong đợi họ được.
Như Andrew đã nói đó là tất cả về vị trí của các gói.
Hoặc là bạn phải kiểm tra trong thư mục toàn bộ gói với tất cả các gói, hoặc mỗi nhà phát triển phải cài đặt các gói sau khi đã kiểm tra ra. Nhưng có một cách tốt hơn để làm điều này, cụ thể là use NuGet Package Restore - sẽ tự động cài đặt tất cả các gói bị thiếu khi dự án được xây dựng.
Nếu bạn sử dụng gói khôi phục, bạn chỉ cần kiểm tra trong repositories.config vào VCS của bạn. Với TFS, bạn có thể cloak the entire packages folder ngoại trừ repositories.config, để TFS không làm phiền với các checkins đang chờ xử lý cho các gói mới.
Xem thêm this answer để được hướng dẫn về cách sử dụng TFS + NuGet.
Đây là câu trả lời hay, đặc biệt là xem xét các thông tin bổ sung liên quan đến TFS, mà tôi chưa từng sử dụng. –