1

我们需要为平板电脑创建多个 Windows 8 应用程序。有一个通用的解决方案,新闻应用是通过将不同的资源传递给相同的代码来创建的。对于移动来说,这简直是小菜一碟——使用 Microsoft.Build.Evaluation.Project 类来获取 xap 文件。

但是对于 Surface,从代码构建不会直接给出 appx 输出,而使用 MSBuild 构建会给出 appx 作为输出。

我尝试了几种方法来避免从 C#(通过创建命令进程)调用 MSBuild,例如创建一个 zip 文件 - myapp.appx - 然后使用此 c++ 代码对其进行签名。由于外部参考,它没有锻炼,我放弃了。

然后我尝试通过在 C# 中创建命令进程来使用 SignTool.exe。那也失败了。

所以,我想知道是否有任何方法可以在没有 MSBuild 的情况下直接从 C# 构建 appx。

我试图避免 MSBuild 的原因是从 Microsoft.Build.Evaluation.Project.Build() 提供的构建过程中获取状态。

4

1 回答 1

1

首先尝试向您的项目添加 pfx 密钥,然后再次尝试通过 Microsoft.Build.Evaluation.Project.Build() 进行构建。我阅读的内容需要 pfx:请参阅 Candy 的答案:

用于创建 .appx 包的 MSBuild 目标

因此,诀窍是首先使用 SignTool 获取 pfx 并使用该 pfx 更新项目,但首先查看上述方法是否有效。

于 2013-04-16T23:20:55.597 回答