Nuspec元数据和sharedassemblyinfo.cs

时间:2017-06-20 21:21:31

标签: c# visual-studio nuget nuget-package nuget-spec

我有一个用c#编写的多项目解决方案。我创建了一个sharedassemblyinfo.cs文件来共享我的解决方案中不同项目的版本号等。我需要将这个项目构建为nuget包。在我的nuspec文件中有像$ version $这样的占位符从assemblyinfo.cs文件中提取程序集版本。因为我使用的是sharedassemblyinfo.cs文件来保存程序集版本,有没有办法可以修改我的nuspec文件以从sharedassemblyinfo.cs而不是assemblyinfo.cs中提取版本?

1 个答案:

答案 0 :(得分:0)

  

有没有办法可以修改我的nuspec文件从sharedassemblyinfo.cs而不是assemblyinfo.cs中提取版本?

不是,AFAIK,这是由nuget设计的,当使用令牌$ version $时,在assemblyinfo.cs中使用AssemblyVersionAttribute属性。如果要将其更改为使用sharedassemblyinfo.cs,则必须编辑nuget源代码以加载sharedassemblyinfo.cs文件。在深入研究NuGet源代码后,我发现它并不像人们想象的那样直截了当。但您可以在GitHub上讨论这个问题。

此外,您可以手动更改nuspec文件中的版本号。如果用值替换$ version $ token,那么该值将占优势并将在包文件名中使用。您还可以在命令行上设置版本,该版本优先于上述所有版本。