我的团队遇到了一个问题,当使用 Nuget 进行包管理时,它会在我的项目中创建对特定版本 dll 的引用。有没有办法阻止 Nuget 创建这些紧密耦合的引用?
一点背景。
我们正在使用 nuget 来管理我们的内部共享库。包通常使用 VS UI 安装。Nuget 包是使用 nuget.exe 规范和 .csproj 文件上的 nuget.exe 包创建的。
我们使用标准的主线分支策略 dev 在主干上完成并释放 rc 分支。
我们不想通过将所有包命名为 xyz-build123 来进入版本控制地狱,因为开发人员可能需要在远离我们的 CI 系统的地方进行本地构建并使用它来测试下游解决方案。我们对此的回答是通过说所有主干构建都只是 xyz-staging 来简化我们的包版本控制,然后将 rc 构建命名为 xyz 这将使开发人员能够进行本地构建并在 nuget.exe install 的帮助下指向开发人员机器上的存储库使用他们构建的下游解决方案。无需更新软件包等。
我们看到的问题是,虽然这在包级别上运行良好。构建失败,因为项目中的引用指向程序集的特定文件版本。在本地开发版本中不会包含内部版本号,但在 CI 服务器上会。
IE。
一个项目有一个类似下面的引用。
版本 (123) 的内部版本号部分在 CI 服务器上与通常为 0 的本地开发机器上不同。
有什么方法可以让 nuget 创建与版本无关的引用,例如只是程序集名称而不是这个几乎强名称。