[英]Nuget Update Package breaks Reference conditional
我的解決方案中的某些私有Nuget程序包在Debug中由其本地dll引用,並在Release中作為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問題已提交給其他有相同問題的人。
除了此條件外,還有其他方法嗎?
我可以在構建過程中使用Web.Debug.csproj
將轉換應用於Web.csproj
嗎?
謝謝,亞歷克斯
當我們為項目升級NuGet程序包時,它將執行“卸載並重新安裝”過程,該過程將修改.csproj文件,以將引用添加到我們的項目中。
而且我們無法在構建過程中更改.csproj文件,因為構建過程需要基於.csproj中的設置來構建項目。
以上所有過程都是Visual Studio中nuget和project的默認操作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.