繁体   English   中英

dotnet pack - 错误 MSB3644: .NETFramework,Version=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 样式后,该项目在我的构建服务器上也能正常构建。

我现在想将 package 设置为 NuGet package 所以我已将此命令添加到我的构建脚本中:

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的 package 引用,但无济于事。

有人对如何解决这个问题有任何建议吗?

由于任何 < 4 的东西都有点..就构建的某些部分如何工作而言“特殊”(msbuild 的部分然后在 2.0 CLR 上运行),我建议不要在这里使用dotnet CLI,而是使用 Visual Studio 安装的msbuild.exe (不是 Windows 中全局 .NET 框架目录中的 msbuild.exe):

msbuild -t:Pack —p:NoBuild=True -p:Configuration=Release -p:PackageOutputPath=.\nupkgs ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM