dotnet-cli 相当于 nuget 更新,参数 -fileconflictaction 覆盖

问题描述

我有 ASP.NET MVC 5 Web 应用程序(旧版 MVC),它使用旧的 csproj 格式和 packages.config 文件来管理 nuget 依赖项。

以下命令用于更新某些软件包:

nuget.exe update MySolution.sln -Prerelease -FileConflictAction Overwrite -Id PackageA -Id PackageB -Id PackageC

PackageC 依赖于 PackageB 和 PackageA。

迁移到新的 csproj 格式后,我只有这个:

<packagereference Include="PackageC" Version="10.28.0-build8844" targetFramework="net472" />

我正在尝试将上面的 nuget 命令迁移到 dotnet cli:

dotnet add path-to-my.csproj package PackageC --prerelease

输出错误error: NU1107: Version conflict detected for PackageB. Install/reference PackageB 10.28.0-build8847 directly to project MyProject to resolve this issue. , 但增加了 PackageC 的版本。

当我添加所有三个时:

  • <packagereference Include="PackageA" Version="10.28.0-build8844" targetFramework="net472" />
  • <packagereference Include="PackageB" Version="10.28.0-build8844" targetFramework="net472" />
  • <packagereference Include="PackageC" Version="10.28.0-build8844" targetFramework="net472" />

并以正确的顺序执行 dotnet cli 命令:

  • dotnet add path-to-my.csproj package PackageA --prerelease
  • dotnet add path-to-my.csproj package PackageB --prerelease
  • dotnet add path-to-my.csproj package PackageC --prerelease

然后没有错误打印出来并且包版本在 csproj 文件中正确更新。

然而,PackageC 包含一些 *.cshtml 文件,并且这些文件没有更新。以前 nuget 的 -FileConflictAction Overwrite 参数用于指定发生冲突时要执行的操作。

非常感谢任何帮助。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...