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

如何在nuspec文件中指定当前项目的Target framework?

如何在NuSpec文件中用项目Target Framework替代硬编码的框架版本

当然可以实现你想要的效果!你设想的$targetframework$变量写法完全正确,不过有几个小细节需要注意,确保它能正常工作:

  • 如果你用NuGet CLI的pack命令打包,记得加上-p:TargetFramework=你的框架版本参数;如果是直接在Visual Studio里右键项目选“打包”,它会自动读取项目里设置的Target Framework值,不用额外加参数。
  • 你的nuspec代码可以直接写成这样:
    <files>
      <file src="bin\$configuration$\$id$.pdb" target="lib\$targetframework$\" />
    </files>
    
    NuGet会自动把$targetframework$替换成项目里配置的框架标识符(比如net45、net6.0这类),以后升级项目框架时,完全不用手动改nuspec文件。

至于你提到的dll自动进入对应框架文件夹的情况,这是因为从项目文件打包时,NuGet会自动把编译好的dll和相关文件放到lib\$targetframework$目录下,而pdb文件需要你手动在nuspec里配置,这样就能保证pdb和dll放在同一个框架目录里了。

如果以后需要支持多目标框架,还可以用复数形式的$targetframeworks$变量或者通配符,但单目标框架的场景下,$targetframework$就足够好用了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 09:26:38