Dành cho VS2015 và VS2017
Hoạt động với TFS (tại chỗ) hoặc VSO (Visual Studio Online - ưu đãi được lưu trữ trên Azure)
Tài liệu NuGet cung cấp hướng dẫn về cách thực hiện điều này và tôi đã theo dõi chúng thành công cho Visual Studio 2015 & Visual Studio 2017 so với VSTS (TFS lưu trữ Azure). Mọi thứ được cập nhật đầy đủ kể từ tháng 11 năm 2016 tháng 8 năm 2018.
Tôi khuyên bạn nên làm theo hướng dẫn của NuGet nhưng chỉ tóm tắt lại những gì tôi đã làm:
- Hãy chắc chắn rằng
packages
thư mục của bạn không được cam kết với TFS. Nếu có, hãy lấy nó ra khỏi đó.
- Mọi thứ khác mà chúng tôi tạo bên dưới đều đi vào cùng một thư mục mà
.sln
tệp của bạn tồn tại trừ khi được chỉ định khác (hướng dẫn của NuGet không hoàn toàn rõ ràng về điều này).
- Tạo một
.nuget
thư mục. Bạn có thể sử dụng Windows Explorer để đặt tên .nuget.
cho nó để lưu thành công vì .nuget
(nó tự động xóa giai đoạn trước) nhưng trực tiếp cố gắng đặt tên cho nó .nuget
có thể không hoạt động (bạn có thể gặp lỗi hoặc có thể thay đổi tên, tùy thuộc vào phiên bản Windows của bạn ). Hoặc đặt tên thư mục nuget và mở thư mục cha trong dấu nhắc dòng lệnh. kiểu. ren nuget .nuget
- Trong thư mục đó, tạo một
NuGet.config
tệp và thêm các nội dung sau và lưu nó:
NuGet.config:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<solution>
<add key="disableSourceControlIntegration" value="true" />
</solution>
</configuration>
- Quay trở lại
.sln
thư mục của bạn và tạo một tệp văn bản mới và đặt tên cho nó .tfignore
(nếu sử dụng Windows Explorer, hãy sử dụng thủ thuật tương tự như trên và đặt tên cho nó .tfignore.
)
- Đặt nội dung sau vào tập tin đó:
.tác hiệu:
# Ignore the NuGet packages folder in the root of the repository.
# If needed, prefix 'packages' with additional folder names if it's
# not in the same folder as .tfignore.
packages
# include package target files which may be required for msbuild,
# again prefixing the folder name as needed.
!packages/*.targets
- Lưu tất cả những điều này, cam kết nó với TFS, sau đó đóng và mở lại Visual Studio và Team Explorer sẽ không còn xác định thư mục gói là một đăng ký đang chờ xử lý.
- Sao chép / dán qua Windows Explorer
.tfignore
tệp và .nuget
thư mục vào tất cả các giải pháp khác nhau của tôi và cam kết chúng và tôi không còn có packages
thư mục cố gắng lẻn vào repo kiểm soát nguồn của mình!
Tùy chỉnh thêm
Trong khi không phải của tôi, tôi đã tìm thấy mẫu này .tfignore
bởi sirkirby là tiện dụng. Ví dụ trong câu trả lời của tôi bao gồm packages
thư mục Nuget nhưng mẫu này bao gồm một số thứ khác cũng như cung cấp các ví dụ bổ sung có thể hữu ích nếu bạn muốn tùy chỉnh thêm.