2011-03-14 75 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

相關問題