如何解决没有构建的dotnet pack版本:无法加载文件或程序集
“覆盖”软件包时,使用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
只要我不必“覆盖”依赖关系图中的软件包版本,这也可以工作。
- 为什么不起作用?我比较了.nupkg文件中生成的文件,但看不到差异
- 是否可以使它工作而无需在构建时指定版本?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。