簡體   English   中英

Nuget更新包中斷參考條件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM