Package version is always 1.0.0 with dotnet pack
Package version is always 1.0.0 with dotnet pack
https://github.com/kerryjiang/SuperSocket/blob/master/Directory.Build.props
When you use dotnet pack
, the version is pulled from the project definition (previously project.json
, now *.csproj
), not AssemblyInfo.cs
. So, your new workflow will be very similar to what it was with project.json
.
From the project.json to csproj migration docs, you can use the VersionPrefix
and VersionSuffix
properties.
Before:
{
"version": "1.0.0-alpha-*"
}
Now:
<PropertyGroup>
<VersionPrefix>1.0.0</VersionPrefix>
<VersionSuffix>alpha</VersionSuffix>
</PropertyGroup>
You can also use the single Version
property, but the docs warn that this "may override version settings during packaging".
<PropertyGroup>
<Version>1.0.0-alpha</Version>
</PropertyGroup>
使用NetRevisionTask遇到的问题
project本身是不带version的信息的,在最后编译的时候,生成dll的时候才附带version信息。
这样导致nuget发布后依赖dll文件都是>=1.0,然而dotnet build生成的dll文件是附带版本的。
比如projectB依赖于projectA,发布projectB的时候,projectA的依赖是》=1.0.
然后build之后,projectA和projectB有可能是编译成同一个版本1.1.3的,这样导致打包的projectB.dll文件里面会强绑定projectA的版本1.1.3.。
解决方案:
每个project有自己的单独版本,手动升级版本。dotnet build之后的projectA的版本是固定的,而不是动态变化的。
作者:Chuck Lu GitHub |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
2015-06-09 C#和.net之间的关系
2015-06-09 Visual C#每一次新版本的变化
2014-06-09 VS中sln和suo的区别