我已经编写了一个VS2012扩展以供内部使用,它简化了从当前加载的解决方案中包含的nuspec中发布和更新任何nuget包的过程。管理一个VS扩展与另一个扩展的依赖关系
我从官方的包源要做到这一点参考Nuget.Core,增加了官方的NuGet扩展扩展级依赖,然后打上我的本地参考Nuget.Core装配不被列入在VSIX中。
直到昨天nuget被更新时,这一切都很好 - 现在我的扩展根本无法工作,因为它无法加载该内核程序集的旧版本(版本号总是被更改)。
我刚刚尝试从nuget获取新版本,但尚未发布。
所以我面临着两个选择:再次
- 释放扩展,具有绑定重定向到新的版本
- 参考距离的NuGet扩展的安装位置的DLL
但是这些都不是很理想,因为我不想在每次更新nuget时不得不重建和释放我的软件包!同样,我不想用扩展部署我的程序集副本,因为它可能会阻止主要的nuget扩展工作。
有人有任何其他选择吗?
这里的问题是当其他扩展更新时,因此部署我的代码依赖的DLL(更重要的是,使用不同的汇编版本)的更新版本。这会打破我的扩展,因为它是针对较低版本构建的 - 引发.Net运行时加载错误。我无法限制我的团队在更新Nuget时不要更新它。 - 但同样我不能分发核心DLL,因为它会在更新它时破坏Nuget扩展。 – 2013-02-22 11:17:33
计算机不能同时保存任何库的多个版本吗?然后您可以明确引用您需要的精确版本。 – 2013-02-22 11:25:16