HOW TO:使用 ClickOnce 來部署可在多個 .NET Framework 版本上執行的應用程式
您可以使用 ClickOnce 部署技術,部署以多個 .NET Framework 版本為目標的應用程式。 您必須產生及更新應用程式和部署資訊清單。
注意事項 |
---|
您應該先確認應用程式可搭配多個 .NET Framework 版本執行,然後再將應用程式變更為以多個 .NET Framework 版本為目標。 .NET Framework 4 相對於 .NET Framework 2.0、.NET Framework 3.0 與 .NET Framework 3.5,包含不同版本的 Common Language Runtime。 |
這個程序需要下列步驟:
產生應用程式和部署資訊清單。
變更部署資訊清單以列出多個 .NET Framework 版本。
變更 app.config 檔案以列出相容的 .NET Framework 執行階段版本。
變更應用程式資訊清單,將相依組件標示為 .NET Framework 組件。
簽署應用程式資訊清單。
更新及簽署部署資訊清單。
若要產生應用程式和部署資訊清單
- 使用 [發行精靈] 或 [專案設計工具] 的 [發行頁],發行應用程式以及產生應用程式和部署資訊清單檔案。 如需詳細資訊,請參閱 HOW TO:使用發行精靈發行 ClickOnce 應用程式或專案設計工具、發行頁。
若要變更部署資訊清單以列出多個 .NET Framework 版本
在發行目錄中,使用 Visual Studio 的 [XML 編輯器] 開啟部署資訊清單。 部署資訊清單有 .application 副檔名。
將 <compatibleFrameworks xmlns="urn:schemas-microsoft-com:clickonce.v2"> 和 </compatibleFrameworks> 項目之間的 XML 程式碼取代為列出應用程式支援之 .NET Framework 版本的 XML。
下表顯示一些可加入至部署資訊清單的可用 .NET Framework 版本和對應 XML。
.NET Framework 版本
XML
4 用戶端版本
<framework targetVersion="4.0" profile="Client" supportedRuntime="4.0.30319" />
4 完整版本
<framework targetVersion="4.0" profile="Full" supportedRuntime="4.0.30319" />
3.5 用戶端版本
<framework targetVersion="3.5" profile="Client" supportedRuntime="2.0.50727" />
3.5 完整版本
<framework targetVersion="3.5" profile="Full" supportedRuntime="2.0.50727" />
3.0
<framework targetVersion="3.0" supportedRuntime="2.0.50727" />
若要變更 app.config 檔案以列出相容的 .NET Framework 執行階段版本
在 [方案總管] 中,使用 Visual Studio 的 [XML 編輯器] 開啟 App.config 檔案。
將 <startup> 和 </startup> 項目之間的 XML 程式碼取代為 (或在其間加入) 列出應用程式支援之 .NET Framework 執行階段的 XML。
下表顯示一些可加入至部署資訊清單的可用 .NET Framework 版本和對應 XML。
.NET Framework 執行階段版本
XML
4 用戶端版本
<supportedRuntime version="v4.0.30319" sku=".NETFramework,Version=v4.0,Profile=Client" />
4 完整版本
<supportedRuntime version="v4.0.30319" sku=".NETFramework,Version=v4.0" />
3.5 完整版本
<supportedRuntime version="v2.0.50727"/>
3.5 用戶端版本
<supportedRuntime version="v2.0.50727" sku="Client"/>
若要變更應用程式資訊清單,將相依組件標示為 .NET Framework 組件
在發行目錄中,使用 Visual Studio 的 [XML 編輯器] 開啟應用程式資訊清單。 部署資訊清單有 .manifest 副檔名。
將 group="framework" 加入至 Sentinel 組件 (System.Core、WindowsBase、Sentinel.v3.5Client 和 System.Data.Entity) 的相依性 XML。 例如,XML 看起來應該如下:
<dependentAssembly dependencyType="preRequisite" allowDelayedBinding="true" group="framework">
將 Microsoft.Windows.CommonLanguageRuntime 的 <assemblyIdentity> 項目版本號碼更新為最小公因數的 .NET Framework 版本號碼。 例如,如果應用程式是以 .NET Framework 3.5 和 .NET Framework 4 為目標,請使用 2.0.50727.0 版本號碼,而此 XML 看起來應該如下:
<dependency> <dependentAssembly dependencyType="preRequisite" allowDelayedBinding="true"> <assemblyIdentity name="Microsoft.Windows.CommonLanguageRuntime" version="2.0.50727.0" /> </dependentAssembly> </dependency>
若要更新及重新簽署應用程式和部署資訊清單
- 更新及重新簽署應用程式和部署資訊清單。 如需詳細資訊,請參閱 HOW TO:重新簽署應用程式和部署資訊清單。
請參閱
參考
<compatibleFrameworks> 項目 (ClickOnce 部署)
<dependency> 項目 (ClickOnce 應用程式)