如何在没有Visual Studio的情况下构建Windows应用商店应用?

时间:2014-01-09 23:07:49

标签: c# visual-studio msbuild windows-store-apps

我需要这个用于构建服务器 - 我想避免在那里安装完整的Visual Studio。

我使用最新的v12 MSBuild与应用程序一起构建解决方案。安装.NET Framework 4.5.1和Windows 8.1 SDK让我了解了几个编译错误。安装完所有,现在,我明白了:

  

错误MSB4019:导入的项目“C:\ Program Files   (86)\的MSBuild \微软\ WindowsXaml \ V12.0 \ Microsoft.Windows.UI.Xaml.CSharp.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,Version = 4.0.0.0,Culture = neutral,   公钥= b03f5f7f11d50a3a。

显然,复制和粘贴东西不是一种方法。是否有一些适当的方法来实现我想要的目标?

编辑:构建计算机安装了Windows Server 2012,而不是Windows 8.1。这可能是个问题吗?

编辑2:在比较开发机器和构建服务器上执行的msbuild输出后,我注意到构建机器中缺少文件夹C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETCore\v4.5.1(只有4.5夹)。粘贴后,我收到以下错误:

  

CompileXaml错误WMC9998:由于缺少XBF生成失败   Windows 8.1支持,设置属性   < DisableXbfGeneration>真< / DisableXbfGeneration>在您的项目文件中   然后再试一次。

Windows 8.1工具链中仍然缺少某些内容......

3 个答案:

答案 0 :(得分:3)

由于它是一个Windows应用商店应用,并且Windows Server 2012没有应用商店,我会说为了编译应用所需的库只是从操作系统本身中丢失的。我建议在Windows 8.1框上运行跟踪器,以查看在编译期间访问哪些文件,并将它们复制到服务器。我不确定这会起作用,但这是我能想到的最有可能的情景。您可以使用Process Monitor之类的东西 See what files/registry keys are being accessed by application in Windows 或者,您可能希望监视.net中的临时构建文件夹,以查看在构建期间本地复制哪些程序集。

编辑:Microsoft未正式支持此http://msdn.microsoft.com/en-us/library/windows/apps/br211384.aspx

答案 1 :(得分:2)

您是否在构建服务器上下载并安装了Microsoft Build Tools 2013? MsBuild的v12版本现在作为Visual Studio(而不是Microsoft.NET Framework)的一部分发布,并且您希望使用此单独安装来获取构建服务器上的MsBuild v12位。

答案 2 :(得分:-1)

几周前我刚刚为Windows 8商店应用做了这个,所以它应该与Windows 8.1相同。只要构建计算机运行的是Windows 8.1,您需要做的就是在构建计算机上安装最新的Visual Studio Express for Windows Store应用程序,您应该没问题。它应该安装你需要的一切。