2014-11-19 17 views
6

Tôi hiện đang phát triển một bộ thư viện dần dần thêm nhiều tính năng hơn. Ví dụ, trong giải pháp của tôi, tôi có một dự án Foo xác định một số tính năng cơ bản, một dự án bổ sung, Foo.Web, để triển khai web cụ thể và Foo.Web.Tokens cho các tính năng cụ thể hơn nữa. Foo.Web.Tokens tùy thuộc vào Foo.Web phụ thuộc vào Foo.Cập nhật phụ thuộc trước khi phát hành bằng cách sử dụng nuget

Tôi đang cố tạo các dự án nuget riêng biệt để người dùng chỉ cần tham khảo những phụ thuộc mà họ cần. Tôi đang phiên bản các assembly với GitVersionTask, vì vậy sau khi build, tất cả chúng đều có cùng số phiên bản và tôi đang sử dụng token thay thế cho nuget khi xây dựng from a project để các gói nuget đều có cùng số phiên bản.

Vấn đề của tôi là khi tôi thử tham khảo phiên bản tiền phát hành của Foo.Web hoặc Foo.Web.Tokens nuget không thể giải quyết sự phụ thuộc vào Foo. Nếu, ví dụ, tôi đã công bố một gói 1.1.0.0-alhpa0001 cho từng cụm, khi tôi cố gắng và cập nhật Foo.Web, NuGet cho thấy lỗi này:

Install-Package : Unable to resolve dependency 'Foo (≥ 1.1.0.0)'.

Sử dụng đối số -Pre không thay đổi điều này. Một Foo.1.1.0-alpha0001.nupkg không tồn tại nhưng tôi cảm thấy như NuGet sẽ không giải quyết được nó bởi vì nó không phải là một phiên bản ổn định, và tôi để cho NuGet tự động phát hiện sự phụ thuộc từ các giải pháp sử dụng lệnh sau:

.\.nuget\NuGet.exe pack source/Foo.Web/Foo.Web.csproj -Build -Version 1.1.0.0-alpha0001 -symbols -IncludeReferencedProjects

thế nào Tôi cho phép tham chiếu gói Foo.Web prerelease gói Foo prerelease của cùng một phiên bản?

+0

tôi đã tự hỏi nếu bạn giải quyết vấn đề này? Nếu bạn đã làm, tôi rất thích nghe về nó. –

Trả lời

0

Tùy chọn IncludeReferencedProjects dường như kéo phiên bản từ assemblyinfo.cs của dự án được tham chiếu.

đặt thuộc tính AssemblyInformationalVersion cho phiên bản gói nuget mong muốn có vẻ hoạt động như bạn muốn.

ví dụ [assembly: AssemblyInformationalVersion("1.1.0-alpha0001")]

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