生成NuGet包时如何使用程序集版本作为包版本
我使用 T4 文本模板自动递增程序集/文件版本号,该模板生成一个 AssemblyInfo.cs
文件,如下所示:
[assembly: AssemblyVersion("1.0.0.525")]
[assembly: AssemblyFileVersion("1.0.0.525")]
[assembly: AssemblyInformationalVersion("1.0.0.525")]
该项目设置为在构建时生成包。但是,创建的包文件名始终以 *.1.0.0.nupkg
结尾,因为 csproj
中缺少
元素-文件。
有没有办法使用 AssemblyInfo.cs
中指定的版本作为包版本?
I auto-increment assembly/file version numbers using a T4 Text Template that generates an AssemblyInfo.cs
file looking like this:
[assembly: AssemblyVersion("1.0.0.525")]
[assembly: AssemblyFileVersion("1.0.0.525")]
[assembly: AssemblyInformationalVersion("1.0.0.525")]
The project is set to generate a package on build. However, the created package file name always ends with *.1.0.0.nupkg
because the <Version>
element is missing in the csproj
-file.
Is there a way to use the versions specified in AssemblyInfo.cs
as the package version?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这是由于 Visual Studio 和 NuGet 之间存在一些语法不兼容造成的。
为了使其真正发挥作用,您需要将 AssemblyInformationalVersion 更改为更像
1.0.0-build.525
或旧版 NuGet1.0.0-build00525
的版本。This is due to some syntactical incompatibility between Visual Studio and NuGet.
To make this really work, you need to change AssemblyInformationalVersion to something more like
1.0.0-build.525
or for older NuGet1.0.0-build00525
.