CSC:错误CS0009:无法打开元数据文件'..... \ v8-x64.dll' - PE映像不包含托管元数据

时间:2017-07-06 09:14:24

标签: c# jenkins msbuild

在我们将目标框架从.NET v4.5.1更新到v4.5.2之后,我们在Jenkins服务器上出现了这个错误:

在构建输出中,我们还有警告:

  

(GetReferenceAssemblyPaths target) - > C:\ Program Files   (86)\的MSBuild \ 14.0 \ BIN \ Microsoft.Common.CurrentVersion.targets(1097,5):   警告MSB3644:框架的参考程序集   未找到“.NETFramework,Version = v4.5.2”。要解决这个问题,   为此框架版本安装SDK或Targeting Pack   将您的应用程序重新定位到您所使用的框架版本   安装了SDK或Targeting Pack。请注意,程序集将是   从全局程序集缓存(GAC)解决并将用于   参考组件的地方。因此你的装配可能不是   正确定位您想要的框架。

当我们尝试删除ClearScriptV8-32.dllClearScriptV8-64.dllv8-ia32.dllv8-x64.dll时,它正在编译没有任何问题,但不幸的是,因为我们在解决方案中使用它们,网站不是负荷。

1 个答案:

答案 0 :(得分:1)

在Jenkins服务器上安装.NET v.4.5.2(链接here)解决了这个问题。

然而如果SDK安装程序为您提供无法安装v4.5.2的信息,因为已经存在较新版本,您可以将整个粘贴从其中存在的另一台机器复制到c \ Program Files (x86)\ Reference Assemblies \ Microsoft \ Framework.NETFramework \ v4.5.2

更多信息: 问题是在Jenkins服务器上我们没有.NET v4.5.2但我们有.NET v.4.6。 由于v.4.6声称与4.5.2兼容,msbuild正在使用它并提出问题中提到的警告,最后CSC未能​​打开v8 Dlls。