“覆盖”软件包时,使用dotnet pack
而不是dotnet build
设置版本时出现以下错误
System.IO.FileLoadException:无法加载文件或程序集“ My.Package,版本= 1.0.0.0,区域性=中性,PublicKeyToken =空”。找到的程序集的清单定义与程序集引用不匹配。 (来自HRESULT的异常:0x80131040) 文件名:“ My.Package,版本= 1.0.0.0,区域性=中性,PublicKeyToken =空”
假设我有以下“依赖图”
当我按照以下方式构建/打包时,它会起作用
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
只要我不必“覆盖”依赖关系图中的软件包版本,这也可以工作。