Hãy thử như sau:
1) Đổi tên bạn .nuspec cho khớp với tên csproj:
Nếu dự án của bạn là: MyLib.csproj
Rename MyLib.nuspec để MyLib.csproj.nuspec
2) Sửa đổi tập tin .nuspec của bạn như sau:
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<version>$version$</version>
<authors>$author$</authors>
<id>$id$</id>
<title>$id$</title>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>$description$</description>
<summary>$description$</summary>
</metadata>
</package>
Ở đây, công việc được thực hiện bằng "$ NuGet của version $ "token (và những người khác)
Hãy xem Nuget article này để biết thêm thông tin và mã thông báo.
3) Sử dụng các bài viết sau Xây dựng tổ chức sự kiện trong mỗi dự án bạn đặt một tập tin .csproj.nuspec (hãy loại bỏ các phím Enter):
mkdir "$(SolutionDir)GeneratedPackages"
"$(SolutionDir).nuget\nuget.exe" pack "$(ProjectPath)"
-OutputDirectory "$(SolutionDir)GeneratedPackages"
-basepath "$(SolutionDir)$(ProjectName)\$(OutDir)"
Nếu chúng ta có một giải pháp C: \ MySolution \ mylib. sln và dự án tại c: \ MySolution \ mylib \ MyLib.csproj, file .nuspec của chúng tôi nên c: \ MySolution \ mylib \ MyLib.csproj.nuspec và Bưu Xây dựng tổ chức sự kiện lệnh sẽ như thế nào:
mkdir "C:\MySolution\GeneratedPackages"
"C:\MySolution\.nuget\nuget.exe" pack "C:\MySolution\MyLib\MyLib.csproj"
-OutputDirectory "C:\MySolution\GeneratedPackages"
-basepath "C:\MySolution\MyLib\bin\debug\"
Sửa đường dẫn đến nuget.exe. Trong trường hợp của tôi, tôi đang sử dụng Nuget "tự động tái tạo các phụ thuộc bị thiếu trong xây dựng" và tôi có một bản sao cục bộ trong giải pháp, trong thư mục .nuget.
Xin lưu ý rằng chúng tôi không gọi nuget bằng tệp .nuspec, chúng tôi là gọi điện trực tiếp với .csproj !!
Chiến lược này cũng sẽ bao gồm tất cả các phụ thuộc của Dự án được khai báo trong gói mà Nuget tạo khi bạn cài đặt gói. (tự động, mỗi khi bạn xây dựng)
Và bạn đã hoàn tất!Bây giờ thay đổi hội và phiên bản tập tin trong
Project> Properties> Thông tin hội
QUAN TRỌNG: Nếu bạn đặt $ tác giả và $ description $ tokens $/hoặc điền vào cũng ty và mô tả của hội các trường ở đây. Nếu bạn gặp sự cố, hãy xóa $ token $ và/hoặc $ description $ tokens và cố gắng biên dịch lại.
và tạo Dự án của bạn, bạn sẽ thấy trong/GeneratedPackages thư mục MyLib.X.X.X.X.nupack với phiên bản bạn đã đặt trong Thuộc tính dự án. Nếu bạn đặt các phụ thuộc, bạn sẽ thấy rằng nó đã được tự động bao gồm dưới dạng Phụ thuộc gói.
Chúng tôi đang sử dụng chiến lược này với máy chủ Jenkins CI để tự động hóa giải pháp và sao chép các gói từ GeneratedPackages vào NugetServer tùy chỉnh của chúng tôi.
Bạn cũng có thể hoàn thành bài viết Xây dựng tổ chức sự kiện với một
nuget push
Để gửi các gói được tạo ra tới một máy chủ NuGet
vấn đề trong CHÍ:
Như đã đề cập trong ý kiến, có là một vấn đề không cho phép Nuget.exe tạo các gói trong chế độ RELEASE.
Làm điều này để sửa chữa nó:
Đối với mỗi dự án với kịch bản này:
- Project Properties> Xây dựng
- Trong mục "Cấu hình" thả xuống chọn "Tất cả các cấu hình"
- Trong phần "Ouput", thay đổi trường "Đường dẫn đầu ra:", ví dụ: Tôi hiện đang sử dụng "bin \" (không có cuotes)
thể trùng lặp của [Xác Version hội trong một tổ chức sự kiện Build bài viết?] (Http://stackoverflow.com/questions/2243593/determine-assembly-version-during-a-post-build-event) – sll