如何安装两个版本的Metro应用程序?

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

1
这不是关于编程的问题。 - Alim Ul Gias
5
我不同意。这个问题提出得不够清楚,但我认为它与编程有关。我想在项目文件中必须有一个指南或其他类型的ID来标识Windows 8应用程序,但我不知道那是什么。 - Filip Skakun
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"

更改该 GUID 应该会有帮助。

1
点赞并删除我的评论,因为它们已经不适用了。 - Merlyn Morgan-Graham

1
您应该可以给包名添加分支ID,然后它将成为不同的包。
这对于最终部署来说是不太好的,但如果您安装了开发者许可证,则应该可以工作。
所以,
  • company.applicationname

对比

  • company.applicationname-branch1

  • company.applicationname-branch2

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


0

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

您在AppxManifest.xml中包的名称是关键。使用XPath语言来说,每个/Package/Identity[@Name]只能安装一个包-这是唯一的部分。

[而且Name+Publisher很重要;如果已经安装了Name=X,Publisher=Y,而您尝试安装Name=X,Publisher=Z,则会出现错误]

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接