dotnet pack - 错误 MSB3644:找不到 .NETFramework 的参考程序集,版本 = v3.5
dotnet pack - error MSB3644: The reference assemblies for .NETFramework,Version=v3.5 were not found
我有一个针对 .Net 3.5 的遗留项目,即 <TargetFramework>net35</TargetFramework>
,即使在将 csproj 升级为 SDK 样式后,这个项目在我的构建服务器上构建得很好。
我现在想将它打包为 NuGet 包,所以我已将此命令添加到我的构建脚本中:
dotnet pack MyProject.csproj -p:PackageVersion=1.2.3-build.4 --no-build --output .\nupkgs --configuration=Release
但是这个命令现在使我的构建失败:
error MSB3644: The reference assemblies for .NETFramework,Version=v3.5 were not found
请注意,它之前的 MSBuild 任务工作得非常好,只是 dotnet pack
失败了,我很难相信这是缺少 .Net 3.5 SDK 的问题,我已经仔细检查了并且 3.5 开发工具出现在构建代理上,我还可以看到 C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\v3.5
文件夹出现在同一台机器上。
我尝试添加对 Microsoft.NETFramework.ReferenceAssemblies 的包引用,但无济于事。
有人对如何解决这个问题有什么建议吗?
因为任何小于 4 的东西在构建的某些部分如何工作方面都有点“特殊”(msbuild 的部分然后 运行 在 2.0 CLR 上),我建议不要使用 dotnet
CLI,但 Visual Studio 安装的 msbuild.exe
(不是 windows 中全局 .NET Framework 目录中的 msbuild.exe):
msbuild -t:Pack —p:NoBuild=True -p:Configuration=Release -p:PackageOutputPath=.\nupkgs ...
我有一个针对 .Net 3.5 的遗留项目,即 <TargetFramework>net35</TargetFramework>
,即使在将 csproj 升级为 SDK 样式后,这个项目在我的构建服务器上构建得很好。
我现在想将它打包为 NuGet 包,所以我已将此命令添加到我的构建脚本中:
dotnet pack MyProject.csproj -p:PackageVersion=1.2.3-build.4 --no-build --output .\nupkgs --configuration=Release
但是这个命令现在使我的构建失败:
error MSB3644: The reference assemblies for .NETFramework,Version=v3.5 were not found
请注意,它之前的 MSBuild 任务工作得非常好,只是 dotnet pack
失败了,我很难相信这是缺少 .Net 3.5 SDK 的问题,我已经仔细检查了并且 3.5 开发工具出现在构建代理上,我还可以看到 C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\v3.5
文件夹出现在同一台机器上。
我尝试添加对 Microsoft.NETFramework.ReferenceAssemblies 的包引用,但无济于事。
有人对如何解决这个问题有什么建议吗?
因为任何小于 4 的东西在构建的某些部分如何工作方面都有点“特殊”(msbuild 的部分然后 运行 在 2.0 CLR 上),我建议不要使用 dotnet
CLI,但 Visual Studio 安装的 msbuild.exe
(不是 windows 中全局 .NET Framework 目录中的 msbuild.exe):
msbuild -t:Pack —p:NoBuild=True -p:Configuration=Release -p:PackageOutputPath=.\nupkgs ...