【发布时间】:2014-01-28 18:19:57
【问题描述】:
我需要这个用于构建服务器 - 我想避免在那里安装完整的 Visual Studio。
我使用最新的 v12 MSBuild 来构建应用程序的解决方案。安装 .NET Framework 4.5.1 和 Windows 8.1 SDK 让我遇到了几个编译错误。安装完所有这些,现在,我得到了这个:
错误 MSB4019:导入的项目“C:\Program Files (x86)\MSBuild\Microsoft\WindowsXaml\v12.0\Microsoft.Windows.UI.Xaml.CSharp.targets" 没有找到。确认声明中的路径是 正确,并且该文件存在于磁盘上。
targets 文件存在于我安装了 Visual Studio 2013 的开发机器上,所以我猜它与 VS 2013 一起出现。当我尝试将整个文件夹粘贴到构建机器时(我知道,这是一件愚蠢的事情),我得到了以下编译警告和错误:
警告 MSB3644:框架的参考程序集 未找到“.NETCore,Version=v4.5.1”。要解决此问题,请安装 此框架版本的 SDK 或 Targeting Pack 或重新定位您的 应用到您拥有 SDK 的框架版本 或已安装 Targeting Pack。
XamlCompiler 错误 WMC1006:不能 解析程序集或 Windows 元数据文件“System.Runtime.dll”
Xaml 内部错误错误 WMC9999:类型 Universe 无法解析程序集: System.Runtime,版本=4.0.0.0,文化=中性, PublicKeyToken=b03f5f7f11d50a3a.
显然,复制和粘贴东西不是一种方法。是否有一些适当的方法来实现我想要的?
编辑: 构建机器安装了 Windows Server 2012,而不是 Windows 8.1。会不会有问题?
编辑 2: 在比较了在开发机器和构建服务器上执行的 msbuilds 的输出后,我注意到构建机器中缺少文件夹 C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETCore\v4.5.1(只有 4.5 个文件夹) .粘贴后出现如下错误:
CompileXaml 错误 WMC9998:由于缺少 XBF 生成失败 Windows 8.1 支持,设置属性
true 在您的项目文件中 然后再试一次。
Windows 8.1 工具链中仍然缺少一些东西...
【问题讨论】:
-
为什么这么多反对票?请分享您的想法 - 我们有什么方法可以进一步改进这个问题吗?
-
首先,Windows Server 2012 R2相当于Windows 8.1。确保您已升级到 R2。
-
@NateDiamond 你是对的,机器确实只安装了 2012,而不是 2012R2。我会尽快升级它。
-
在 R2 上为我工作,安装了 vs express 并安装了 sdk。
标签: c# visual-studio msbuild windows-store-apps