VS项目Package设置中,控制类库NuGet包文件名的字段是哪个?
解决NuGet包文件名去除版本号的问题
在Visual Studio的Package选项面板里,没有直接对应的字段可以控制生成不带版本号的NuGet包文件名——你试过的Package ID、Title、Product都是包的元数据字段,只会影响NuGet包的描述信息,不会改变输出文件名的默认格式(默认格式为[PackageID].[版本号].nupkg)。
要生成Globalization.nupkg这种不带版本号的包文件,可以用以下两种方法:
方法1:编辑项目文件(推荐)
直接修改类库的.csproj文件,在<PropertyGroup>节点中添加PackageFileName属性,指定目标文件名:
<PropertyGroup> <!-- 保留原有配置 --> <PackageFileName>Globalization</PackageFileName> </PropertyGroup>
保存后重新生成NuGet包,输出文件就会是Globalization.nupkg。
方法2:使用Post-build事件
在项目属性的“生成事件”选项卡中,添加Post-build命令,在包生成完成后重命名文件:
copy "$(OutputPath)$(PackageId).$(PackageVersion).nupkg" "$(OutputPath)Globalization.nupkg" /Y
这条命令会把默认生成的带版本号的包文件复制并重命名为目标文件名,/Y参数用于覆盖已存在的同名文件。
内容的提问来源于stack exchange,提问作者Jason Ayer
相关产品推荐
相关产品推荐

