visual-studio - 如何在使用 pack 命令生成 NuGet 包时为所有项目保持相同的版本
问题描述
我有以下 .NET Framework 项目的结构:
-->ProjectSoln -------->ClassLibProj1 -------->ClassLibProj2 -------->ConsumerLibProj3
我在解决方案级别定义了 GlobalAssemblyInfo.cs 文件,并在所有 3 个项目中添加了对该文件的引用。ConsumerLibraryProj3 具有对 ClassLibraryProj1 和 ClassLibraryProj2 的项目引用。我在包含 $version$ 的 ConsumerLibProj3 中添加了 nuspec 文件。我正在使用以下命令为 ConsumerLibraryProj3 生成 Nuget 包
nuget pack ConsumerLibProj3.csproj -includereferencedprojects -verbosity detailed
包生成成功,但是包中的ClassLibProj1和ClassLibProj2 dll的版本不是最新的。例如,ConsumerLibProj3.dll 包的版本为 1.0.0.2,而 ClassLibProj1.dll 和 ClassLibProj2.dll 的版本为 1.0.0.1。期望所有三个 dll 都应该具有相同的版本,因为该版本来自 GlobalAssemblyInfo.cs 文件。该解决方案使用 .NET Framework 类型的项目。任何帮助将不胜感激。
解决方案
最后,我能够通过在打包时强制 nuget 使用发布配置来解决这个问题。令人惊讶的是,我正在使用 Release 配置文件构建解决方案,但 nuget 仍然以某种方式感到困惑。我使用了以下命令
nuget pack ConsumerLibProj3.csproj -includereferencedprojects -build -properties configuration=release -verbosity detailed
谢谢您的帮助。
推荐阅读
- terraform - Terraform - 错误:提供程序配置不存在(传递多个 Azure 提供程序)
- r - 如何使用来自其他列的相应数据创建列
- postgresql - pg_dump 忽略 postgis 函数和类型
- python - 从 Excel 运行 python 脚本会损坏我的 .xslm 文件,但从 VSC 运行脚本时不会
- excel - 如何根据多个vlookup结果使用countif
- c++ - Qt:在嵌入的非 Qt 窗口上获取快捷信号
- python - 如何以列表为参数对函数进行矢量化?
- mongodb - MongoDB.如何访问子文档并获取特定部分?有弹簧数据
- javascript - net::ERR_INSUFFICIENT_RESOURCES 是否应该触发 XMLHttpRequest.error 事件?
- c# - Asp.net core 3.1 授权无效!!!即使提供了令牌,也总是返回 401