我有一个项目,它有相同的C#/ xaml metro应用程序的各个分支。我有一台平板电脑,我测试应用程序,我通常会在其上部署一个应用程序包来测试我的最新代码。出现的问题是我经常有同一个程序的多个分支。我希望能够在平板电脑上执行它们(比较和对比)。但是,当我去安装应用程序时,它说它已经安装,安装失败。我需要在分支上更改哪些设置,以便Windows 8将分支视为单独的应用程序?
答案 0 :(得分:8)
我尝试创建两个具有相同名称但在不同父文件夹中的项目,并在项目目录上执行diff。必须有一种你可以找到这种方式的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 :(得分:1)
您应该能够将分支ID添加到包名称,然后这将是一个不同的包。
这对最终部署没有好处,但如果您安装了开发人员许可证,则应该有效。
所以
company.applicationname
VS
company.applicationname-branch1
company.applicationname-branch2
应被视为不同的包,因此允许您同时安装。
答案 2 :(得分:0)
&gt;我需要在分支上更改哪些设置,以便Windows 8将分支视为单独的应用程序?
您的AppxManifest.xml中的包名称是关键。要使用XPath-speak,用户每个/ Package / Identity [@Name]只能安装一个软件包 - 这是唯一的部分。
[和名称+出版商是重要的;如果Name = X,则安装Publisher = Y并且您尝试安装Name = X,Publisher = Z您将收到错误]
我相信如果Visual Studio控制名称,Visual Studio会将“.Debug”和“。Release”添加到名称中,因此您可以使用F5多种配置。 [这有其自身的问题,例如如果你使用通知,需要匹配名称...]