问题描述
我有 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 (将#修改为@)