【发布时间】:2017-04-06 23:47:32
【问题描述】:
我们有几个内部库作为 nuget 包发布并用于几个项目。
如果我需要在其中一个库中进行更改并立即对其进行测试而不发布新包并在当前项目中更新它,我应该如何进行?
【问题讨论】:
我们有几个内部库作为 nuget 包发布并用于几个项目。
如果我需要在其中一个库中进行更改并立即对其进行测试而不发布新包并在当前项目中更新它,我应该如何进行?
【问题讨论】:
我刚刚实现了一个名为 NuGet Reference Switcher 的新 Visual Studio 扩展,可用于从 NuGet DLL 引用自动切换到项目引用,反之亦然。这对于 NuGet 库项目的开发和调试很有用。
【讨论】:
我们在工作中使用的approach 是开发人员可以构建自己版本的库NuGet 包用于调试目的。通过拥有本地开发人员包存储库,他们可以使用这些包进行调试/测试,而无需发布“官方”版本。
本地包存储库可以只是您机器上的一个目录,您可以在其中放置本地构建的包。然后通过更新您的NuGet configuration file,您可以指定 NuGet 应先搜索您的开发目录,然后再搜索公司范围的存储库。
另一种方法是构建库的新版本,然后将库二进制文件复制到解决方案包目录中现有二进制文件的顶部。例如如果您有名为 MyCoolLibrary 的库的 2.0 版,并且您想调试 MyCoolApp,那么您可以将 MyCoolLibrary.dll 复制到 MyCoolApp 解决方案的包目录中,在 @ 的现有版本 1.5 之上987654327@。 NuGet 在正常情况下不应接触程序集,以便开发人员测试。请注意,如果您确实在那里进行了更新,那么这将不允许您发现 NuGet 包的问题,例如添加新程序集或更改强名称键等。
【讨论】:
我假设您不能简单地编写单元/集成测试来检查预期的行为... 当然,这将是测试您的库的正确方法。
在这种情况下,您可以简单地删除 nuget 引用并将项目引用添加到您的库中。
【讨论】: