0

一些私人的NuGet包在我的解決方案是通過在調試其本地的dll引用並作爲NuGet包中發佈引用。的NuGet更新包符參考條件

這是我Web.csproj:

<Choose> 
<When Condition="'$(Configuration)' == 'Release'"> 
    <Reference Include="CustomPackage, Version=1.0.0.0, Culture=neutral"> 
    <HintPath>..\packages\CustomPackage.1.0.0\lib\net461\CustomPackage.dll</HintPath> 
    <Private>True</Private> 
    </Reference> 
</When> 
<Otherwise> 
    <Reference Include="CustomPackage, Version=1.0.0.0, Culture=neutral"> 
    <HintPath >..\..\CustomPackage\bin\$(Configuration)\CustomPackage.dll</HintPath> 
    <Private>True</Private> 
    </Reference> 
</Otherwise> 
</Choose> 

後CustomPackage被公佈和更新,以1.0.1,我更新包中的NuGet包管理器我的解決方案。

問題:然後 的NuGet將完全去除第一參考並將其放置在更新過程中條件的外部更新的基準。

我發現Nuget Reference Switcher我認爲這將是我的解決方案,因此您希望您將所有在本地引用的項目添加到解決方案中,該解決方案並不適用於我的團隊,我們只需要參考dll。一個GitHub Issue與有同樣的問題別人提起。

有除此之外的條件任何其他的方法呢?

在構建過程中,我可以將變換應用於我的Web.csproj並使用Web.Debug.csproj嗎?

謝謝,亞歷克斯

回答

0

當我們爲我們的項目升級NuGet包,它將執行卸載並重新安裝的過程,這將改變我們的.csproj文件的引用添加到我們的項目。

而且我們無法在構建過程中更改我們的.csproj文件,因爲構建過程需要根據.csproj中的設置來構建您的項目。

以上所有流程都在Visual Studio的NuGet和項目默認操作。