问题描述
“覆盖”软件包时,使用dotnet pack
而不是dotnet build
设置版本时出现以下错误
System.IO.FileLoadException:无法加载文件或程序集“ My.Package,版本= 1.0.0.0,区域性=中性,PublicKeyToken =空”。找到的程序集的清单定义与程序集引用不匹配。 (来自HRESULT的异常:0x80131040) 文件名:“ My.Package,版本= 1.0.0.0,区域性=中性,PublicKeyToken =空”
假设我有以下“依赖图”
- 我的包裹1.0.0.1
- 我的其他包装1.0.0.1
- NewtonSoft.Json 12.0.1
- My.Package 1.0.0.0
当我按照以下方式构建/打包时,它会起作用
dotnet build MySolution.sln --version-suffix 1.0.0.1 -c Release
dotnet pack My.Package/My.Package.csproj --no-build /p:Version=$VERSION=1.0.0.1 -c Release
但是(因为我正在使用docker),我想避免在构建时而不是仅在打包时放置版本
dotnet build MySolution.sln -c Release
dotnet pack My.Package/My.Package.csproj --no-build /p:Version=$VERSION=1.0.0.1
只要我不必“覆盖”依赖关系图中的软件包版本,这也可以工作。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)