繁体   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