Khi tôi chạy nuget pack MyProject.csproj
từ dòng lệnh, tôi nhận được lỗi sau:NuGet gói được bỏ qua thông tin lắp ráp
The replacement token 'author' has no value.
Tôi đã kiểm tra AssemblyInfo của tôi, và AssemblyCompany được quy định như "AJ Richardson". Tôi đã thử bằng tay thay thế $author$
với AJ Richardson
trong tập tin nuspec của tôi, nhưng sau đó tôi nhận được một lỗi hơi khác nhau:
The replacement token 'description' has no value.
Nhưng AssemblyDescription
cũng được xác định. Có vẻ như NuGet không đọc bất cứ điều gì từ số AssemblyInfo
của tôi. Tôi đã xác minh rằng AssemblyInfo
được bao gồm trong dự án của tôi và hành động xây dựng được đặt thành Biên dịch.
Tôi đã thực hiện một vài gói NuGet trước và không có bất kỳ vấn đề nào. Sự khác biệt duy nhất giữa gói này và các gói trước đó của tôi là gói này có phụ thuộc.
Để tham khảo, đây là nuspec tôi:
<?xml version="1.0"?>
<package>
<metadata>
<id>$id$</id>
<version>1.0.0</version>
<title>$title$</title>
<authors>$author$</authors>
<owners>$author$</owners>
<licenseUrl>https://github.com/my/repo/blob/master/LICENSE</licenseUrl>
<projectUrl>https://github.com/my/repo</projectUrl>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>$description$</description>
<releaseNotes>Initial release.</releaseNotes>
<copyright>Copyright AJ Richardson 2015</copyright>
<tags></tags>
</metadata>
<dependencies>
<dependency id="Newtonsoft.Json" version="6.0.1" />
</dependencies>
</package>
Vì vậy, câu hỏi của tôi là, tại sao không NuGet đọc của tôi AssemblyInfo
, và làm thế nào để thuyết phục nó để làm điều đó?
Phiên bản NuGet bạn đang sử dụng là gì? Tôi đang gặp vấn đề tương tự với NuGet v3.5.0 và dự án VS2015. Nó không thể nhận giá trị Tác giả, mặc dù dự án đã được xây dựng lại. – EndlessSpace
@EndlessSpace Tôi không thể nhớ chính xác vì đây là một năm rưỡi trước. Nó sẽ là v3.x (có thể là 3.0 hoặc 3.1?) –
Ngoài ra, hãy chắc chắn rằng bạn đang xây dựng trong cùng một cấu hình như 'gói nuget' đang sử dụng. –