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