我們在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