我有一個開發app.config和一個部署app.config。我需要clickonce才能在部署中對其進行更改。是否可以自動完成此操作?ClickOnce如何將app.config從開發更改爲部署?
回答
一個簡單的方法是複製預生成腳本中的app.config文件,您可以在應用的屬性頁面生成事件中定義該文件。
你可以做兩種:
1)創建僅部署到生產中所使用的解決方案的配置,並在劇本上,例如,開關
if ($(ConfigurationName)) == (PublishConfig) call ReplaceAppConfig.cmd
,或者,如果你只是建立一個特定的機器上發佈的配置:
2)始終運行在預生成事件的腳本:
call CheckAndReplaceAppConfig.cmd
和CheckAndReplaceAppConfig.cmd會在這種情況下有:
IF (%MACHINENAME%)==(PUBLISH_SERVER) ReplaceAppConfig.cmd
如果您使用VS工具,則配置文件都是部署的已簽名部分的一部分。因此,最好的方法是通過您的build工具 - 即使用dev/live/etc配置文件構建不同的版本。
隨着3.5SP1,你可以opt out of the signing;我不知道你是否可以通過IDE做到這一點 - 假設你可以通過手動(通過法師)來做到這一點,但這是更多的工作...
如果你不想重新構建應用程序,你可以試試這個辦法,直接在部署的文件工作。
作爲我們測試工作流程的一部分,我們經常爲.config
文件中的差異設置同一應用程序的多個部署。我們真的不希望每次我們想要使用不同的配置文件添加新部署時都必須重新發布。由於ClickOnce要求對所有內容進行簽名和散列處理,因此不可能僅更改myapp.exe.config.deploy
文件內容並期望一切正常。因此,您可以使用mage.exe
更改您的清單,然後再進行更改。
如前所述here,你基本上需要做的是:
首先,進入「應用程序文件\ MyApp_1_2_3_4 \」目錄中部署目錄
你必須將所有文件從something.extension.deploy
重命名到something.extension
然後運行:
mage -Update "Application Files\MyApp_1_2_3_4\myapp.exe.manifest"
mage -Sign "Application Files\MyApp_1_2_3_4\myapp.exe.manifest" -CertHash my_ceritficate_thumbnail
然後將文件重命名回原來的名稱(添加.deploy
擴展)
最後,運行:
mage -Update MyApp.xbap -appmanifest "Application Files\MyApp_1_2_3_4\myapp.exe.manifest"
mage -Sign MyApp.xbap -CertHash my_certificate_thumbnail
另外,爲了避免重命名這些文件,你可以告訴的Visual Studio發佈時不添加.deploy
擴展(去發佈.. 。visual studio項目中的選項),下次發佈時,這些文件將不會獲得該擴展名。我唯一的猜測就是在某些用戶嘗試下載.exe
或.dll
文件時遇到防火牆問題。
- 1. ClickOnce和app.config不部署
- 2. 爲ClickOnce部署自定義app.config
- 3. 如何更改ClickOnce的部署方式
- 4. 如何將SharedAddin打包爲ClickOnce部署
- 5. Clickonce部署 - 如何做部分更新
- 6. 更改目標框架ClickOnce部署
- 7. ClickOnce部署網站修改
- 8. '拋光'ClickOnce部署 - 如何?
- 9. 如何通過ClickOnce部署更改C:目錄?
- 10. 重新部署ClickOnce部署
- 11. Wpf Clickonce部署
- 12. ClickOnce部署「System.IO.IOException」
- 13. ClickOnce部署
- 14. Clickonce部分部署
- 15. 如何將Visual Studio安裝項目轉換爲ClickOnce部署?
- 16. 部署生成後的App.config通過的ClickOnce
- 17. 使用clickonce部署時不要覆蓋app.config
- 18. Clickonce應用程序部署,隱藏app.config中的密碼
- 19. 在運行時更改.NET ClickOnce部署的更新位置
- 20. Postgres - 如何將開發數據庫中的更改部署到現場版本
- 21. Clickonce和app.config
- 22. 用ClickOnce部署About.htm
- 23. ClickOnce部署性能
- 24. 用ClickOnce部署System.Net.Http.dll
- 25. ClickOnce部署問題
- 26. ClickOnce部署恐怖
- 27. clickOnce發佈不部署我的app.exe.config
- 28. 發佈windows應用程序 - ClickOnce部署
- 29. 更新組件,不再部署clickonce
- 30. ClickOnce部署,需要系統更新Microsoft.mshtml
它可以用法師完成,但我們通常選擇不同的構建版本。正如馬克所說,這很簡單。 – 2009-06-01 14:01:12