You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

多目标项目构建NuGet包时如何固定版本为1.0.6?

解决多目标项目固定NuGet包版本时的构建失败问题

嘿,我一眼就看出问题所在了——你把NuGet依赖项的版本范围语法用到了项目自身的版本设置上,这就导致构建报错啦。<Version>属性需要的是一个明确的、不带方括号的具体版本号,而不是像引用包时用的[x.x.x]这种范围格式。

具体修复步骤:

  1. 修正项目版本格式
    把配置里的<Version>[1.0.6]</Version>直接改成<Version>1.0.6</Version>,去掉方括号就行。

  2. 同步程序集版本(建议操作)
    为了让程序集版本和NuGet包版本保持一致,最好把<AssemblyVersion>1.0.7.0</AssemblyVersion>也改成<AssemblyVersion>1.0.6.0</AssemblyVersion>,避免版本不一致带来的混淆。

修改后的核心PropertyGroup代码块:

<PropertyGroup>
  <TargetFrameworks>netstandard2.0;net461</TargetFrameworks>
  <GeneratePackageOnBuild>true</GeneratePackageOnBuild>
  <RepositoryUrl></RepositoryUrl>
  <Copyright>-</Copyright>
  <Description>-</Description>
  <Company>-</Company>
  <Authors>-</Authors>
  <PackageProjectUrl>-</PackageProjectUrl>
  <SignAssembly>true</SignAssembly>
  <AssemblyOriginatorKeyFile>OracleExtensions.snk</AssemblyOriginatorKeyFile>
  <DelaySign>false</DelaySign>
  <RestoreProjectStyle>PackageReference</RestoreProjectStyle>
  <Version>1.0.6</Version> <!-- 这里改为纯版本号,去掉方括号 -->
  <AssemblyVersion>1.0.6.0</AssemblyVersion> <!-- 同步程序集版本 -->
</PropertyGroup>

额外小提示:

  • 改完之后建议先清理项目的bin和obj目录,再重新构建,避免之前的版本缓存干扰新包生成。
  • 确认你的签名配置(SignAssembly和AssemblyOriginatorKeyFile)没问题,不过从你的描述来看,主要问题还是出在版本格式上,这个修正应该就能解决构建失败的问题了。

现在重新构建项目,就能得到版本固定为1.0.6的NuGet包啦。

内容的提问来源于stack exchange,提问作者Dmitriy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 10:08:58