我们在VS 2015中包含3个包含C#项目的解决方案。其中一个创建一个NuGet包,另外两个引用该NuGet包中的一个DLL。 (该DLL包含应用程序的两个部分之间的接口。)一个TeamCity构建服务器构建DLL和NuGet包,并自动设置其版本。轻松覆盖开发中的NuGet DLL(VS 2015)
在开发过程中,我希望能够轻松地测试对DLL的更改,而无需提交并等待构建软件包。什么是最好的方法来做到这一点?理想情况下,我想说:如果C:\Build\My.dll
存在,则使用它而不管其版本,否则使用version 1.2.3.4
的MyDLL NuGet package
。有没有什么办法可以指定它并让它“生存”NuGet升级?
我试着暂时删除对该DLL的引用,并直接向我想要的版本添加引用,但问题在于它在许多项目中引用,为它们做这件事相当麻烦。
我试过了,只要不升级NuGet包,它就可以很好地工作。但是,当您升级它时,它将删除条件引用并添加一个无条件引用。 – EM0
我试着给测试项目添加一个条件引用。它在NuGet软件包更新中幸存下来。在初始dll引用后我有了这个ItemGroup。 '<的ItemGroup条件= “存在时( 'C:\ TEMP \ ConditionalProjRefTest \ log4net.dll')”> <参考包含= “log4net的”> C:\ TEMP \ ConditionalProjRefTest \ log4net.dll ' –
hsirah
是的,但您是否也有NuGet参考?这需要有条件(Condition =“!Exists(...)”),否则会有重复。 – EM0