2011-03-14 44 views
5

如何使用相同的Visual Studio解决方案部署多个WP7应用程序?我需要改变以实现这个目标?更改Xap文件名称和程序集GUID和标题无法实现它。事实上,VS覆盖了旧标题,但没有部署一个单独的应用程序。使用相同的Visual Studio解决方案部署多个WP7应用程序?

背景:我们有一个Lite和Pro应用程序,我希望能够将两个版本部署到手机上。

编辑:

试用API是不是我们的选择。我们已经考虑过但决定不使用它。

+0

的是精简版和专业版在同一个项目?如果他们是不同的项目,那么只需构建或部署项目,然后在该项目的bin文件夹中查找。 – Martin 2011-03-14 15:25:44

+4

为什么不使用[试用模式API](http://devlicio.us/blogs/derik_whittaker/archive/2010/10/18/enabling-your-wp7-application-to-be-installed-in-trial-mode .aspx)在相同的应用程序内完成此操作?用户从简易版转移到专业版会轻松得多。 – theChrisKent 2011-03-14 15:29:14

+0

我完全同意@theChrisKent - 当有完美的系统进行试验时,不要乱用“Lite”应用程序销售市场。 – 2011-03-14 15:34:18

回答

5

我已经创建了基于当前配置名称的预构建事件。此事件取代了解决方案中的应用程序配置(WMAppManifest.xml,SplashScreenImage.jpg)。

例子:

echo "$(ConfigurationName)" 

if "$(ConfigurationName)" == "Lite" goto :copyLite 
if "$(ConfigurationName)" == "PRO" goto :copyPro 

echo "Unknown Configuration" 
goto :end 

:copyLite 
echo "copy lite" 
    copy "$(ProjectDir)Resources\PreBuildEvent\Lite\WMAppManifest.xml" "$(ProjectDir)\Properties\" /y 
    copy "$(ProjectDir)SplashScreenImageLite.jpg" "$(ProjectDir)SplashScreenImage.jpg" /y 
goto :end 

:copyPro 
echo "copy pro" 
    copy "$(ProjectDir)Resources\PreBuildEvent\Pro\WMAppManifest.xml" "$(ProjectDir)\Properties\" /y 
    copy "$(ProjectDir)SplashScreenImagePro.jpg" "$(ProjectDir)SplashScreenImage.jpg" /y 

goto :end 

:end 
0

如果这两个应用程序是同一解决方案中的不同项目,则可以使用配置管理器控制将哪些应用程序部署到构建版本。

如果您没有在相同的解决方案中放置多个相关的项目,请考虑使用它。我觉得这是管理多个相关项目的好方法。

1

我会建议你考虑试用API。这是您正在尝试完成的首选WP7实施。但是,如果您需要实现共享资源的两个应用程序,我会建议您将解决方案构建到多个项目中。每个电话应用程序应该是它自己的项目。然后创建在两个“应用程序”之间共享元素的类项目。每个电话项目将编译成一个单独的“应用程序”。

+0

他复制了解决方案,所以你所说的不起作用/有意义 – Jon 2012-01-25 17:05:20

1

如果您想从同一个项目中实现两个不同的XAP安装,那么您只需要更改Properties/WMAppManifest.xml文件中的Title和ProductID GUID信息 - 尽管您可能也想更改其他内容 - 例如图标,启动画面和一些“关于”信息

+0

我试过了,就像我上面说过的那样,它不起作用。它会覆盖旧的... – Buju 2011-03-15 09:06:28

+0

只检查 - 上面说你改变了Assembly Guid - 这是cs属性文件中的Guid - 与WMAppManifest.xml文件中的不同。 – Stuart 2011-03-15 09:14:32

+0

啊sry,在清单文件中没有看到ProductID。 – Buju 2011-03-15 10:20:05

0

您可以选择部署整个解决方案或仅部署“生成”菜单中的当前启动项目。如果他们不是同一解决方案的一部分,那么,不,你不能那样做。但是你可以编写一个使用部署工具的命令行脚本,或许?

+0

所以你说我需要2个独立的vs解决方案? – Buju 2011-03-15 09:09:12

+0

不,我说你需要同一个解决方案中的两个项目。 – 2011-03-15 16:59:18

相关问题