Tôi đang cố gắng thêm XmlnsDefinitionAttributes vào assembly của mình. Tôi sử dụng TeamCity để quản lý các dự án của mình. Có một bước Gói NuGet trong cấu hình xây dựng của tôi.NuGet không thể trích xuất siêu dữ liệu từ assembly với XmlnsDefinitionAttribute
Đây là phần có liên quan của nhật ký xây dựng không thành công.
[16:42:08]: Starting: C:\Windows\system32\cmd.exe /c C:\BuildAgent\tools\NuGet.CommandLine.1.5.20905.5.nupkg\tools\NuGet.exe pack C:\BuildAgent\work\5f0e65f22ca1527\MyProject\MyProject.csproj -OutputDirectory \\server\Packages -BasePath C:\BuildAgent\work\5f0e65f22ca1527 -Verbose -Version 1.0.97.1034 -Symbols -Properties Configuration=Release
[16:42:08]: in directory: C:\BuildAgent\work\5f0e65f22ca1527
[16:42:08]: Attempting to build package from 'MyProject.csproj'.
[16:42:09]: Packing files from 'C:\BuildAgent\work\5f0e65f22ca1527\MyProject\Bin\Release'.
[16:42:09]: WARNING: Unable to extract metadata from 'MyProject.dll'.
[16:42:09]: Using 'MyProject.nuspec' for metadata.
[16:42:09]: The replacement token 'title' has no value.
[16:42:09]: Process exited with code 1
Phần giống nhau để tạo thành công trông như thế này.
[16:42:54]: Starting: C:\Windows\system32\cmd.exe /c C:\BuildAgent\tool\NuGet.CommandLine.1.5.20905.5.nupkg\tools\NuGet.exe pack C:\BuildAgent\work\5f0e65f22ca1527\MyProject\MyProject.csproj -OutputDirectory \\server\Packages -BasePath C:\BuildAgent\work\5f0e65f22ca1527 -Verbose -Version 1.0.98.1035 -Symbols -Properties Configuration=Release
[16:42:54]: in directory: C:\BuildAgent\work\5f0e65f22ca1527
[16:42:54]: Attempting to build package from 'MyProject.csproj'.
[16:42:54]: Packing files from 'C:\BuildAgent\work\5f0e65f22ca1527\MyProject\Bin\Release'.
[16:42:54]: Using 'MyProject.nuspec' for metadata.
Tại thời điểm này, nó sẽ xuất tất cả các cài đặt.
XmlnsDefinitionAttribute My được định nghĩa trong AssemblyInfo.cs như sau
[assembly: XmlnsDefinition("http://schemas.company.com/myproject", "MyProject")]
Bất kỳ ý tưởng như những gì tôi đang làm sai?
Sửa
Dưới đây là toàn AssemblyInfo.cs tôi
using System.Reflection;
using System.Runtime.InteropServices;
using System.Windows.Markup;
[assembly: AssemblyTitle("MyProject")]
[assembly: AssemblyDescription("MyProject Description")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Microsoft")]
[assembly: AssemblyProduct("MyProject")]
[assembly: AssemblyCopyright("Copyright © Microsoft 2011")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
[assembly: ComVisible(false)]
[assembly: Guid("23774732-4f22-4366-a150-03745e93111b")]
[assembly: AssemblyVersion("1.5.2")]
[assembly: AssemblyFileVersion("1.5.2")]
[assembly: XmlnsDefinition("http://schemas.company.com/myproject", "MyProject")]
[assembly: XmlnsDefinition("http://schemas.company.com/myproject", "MyProject.Namespace1")]
[assembly: XmlnsDefinition("http://schemas.company.com/myproject/newschema", "MyProject.NewSchema")]
[assembly: XmlnsDefinition("http://schemas.company.com/myproject/newschema", "MyProject.NewSchema.Namespace1")]
Chỉnh sửa 2
Tôi đã cài đặt NuGet tại địa phương và tôi nhận được lỗi tương tự. TeamCity dường như không có hiệu lực.
Có gì trong AssemblyInfo.cs của bạn? – jrummell
Vì vậy, khi bạn loại bỏ các thuộc tính XmlnsDefinition, NuGet tạo ra các gói phần mềm tốt? Điều đó có vẻ kỳ lạ vì điều đó không ảnh hưởng đến bất cứ điều gì. – Haacked
@Haacked Yup, hoạt động tốt mà không có XmlnsDefinition. Nó rất kỳ quặc. – cadrell0