5

我有一个项目,它具有相同 C#/xaml Metro 应用程序的各个分支。我有一台平板电脑,我可以在上面测试应用程序,我通常会在上面部署应用程序包来测试我的最新代码。出现的问题是我经常有同一个程序的多个分支。我希望能够在平板电脑上执行它们(比较和对比)。但是,当我去安装该应用程序时,它说它已经安装,并且安装失败。我需要在我的分支上更改哪些设置,以便 Windows 8 将分支视为单独的应用程序?

4

3 回答 3

8

我会尝试创建两个具有相同名称但在不同父文件夹中的项目,并对项目目录进行比较。必须有一个您可以通过这种方式找到的各种 ID。

*编辑(添加答案)比较 csproj 文件我可以看到不同的项目 GUID:

<ProjectGuid>{2BC8E996-5E25-4714-9327-930553131C04}</ProjectGuid>
<ProjectGuid>{DFC50C25-399E-437A-B641-E48FEA776EFE}</ProjectGuid>

但另一个区别是必须使打包的应用程序不同 - 在 Package.appxmanifest 我也得到不同的 GUID:

<Identity Name="3b69e4ca-4072-4ec6-8790-4090bf72a8c3"
<Identity Name="2a943b24-68d2-4480-a475-1d606e546672"

更改该指南应该会有所帮助。

于 2011-11-17T05:26:03.483 回答
1

您应该能够将分支 ID 添加到包名称,然后这将是一个不同的包。

这对最终部署没有好处,但如果您安装了开发人员许可证,则应该可以使用。

所以

  • company.applicationname

对比

  • company.applicationname-branch1

  • company.applicationname-branch2

应该被视为不同的软件包,因此允许您同时安装。

于 2012-08-07T10:19:55.907 回答
0

>我需要在我的分支上更改哪些设置,以便 Windows 8 将分支视为单独的应用程序?

AppxManifest.xml 中的包名称是关键。要使用 XPath-speak,用户只能为每个 /Package/Identity[@Name] 安装一个包——这是唯一的部分。

[而且名称+出版商很重要;如果 Name=X,Publisher=Y 已安装并且您尝试安装 Name=X,Publisher=Z 您将收到错误]

如果 Visual Studio 控制名称,我相信 Visual Studio 会将“.Debug”和“.Release”附加到名称中,因此您可以 F5 进行多种配置。[这有其自身的问题,例如,如果您使用需要匹配名称的通知...]

于 2011-12-28T21:06:03.253 回答