如何解决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 举报,一经查实,本站将立刻删除。