簡體   English   中英

VS2012 Web Deploy Package創建應用程序池

[英]VS2012 Web Deploy Package to create application pool

我在VS2012中有一個Web應用程序項目,我使用“Web部署包”發布。 我希望此程序包包含應用程序池設置,特別是創建 IIS應用程序池並將新創建的應用程序分配給它。

我熟悉項目配置為使用IIS實例(不是IIS Express)時可用的“包括此Web項目使用的應用程序池設置”選項,但IIS配置不是項目文件的一部分,因此不是源代碼受控。 如果有人在未經過精心配置IIS的計算機上構建部署包,會發生什么? 不理想。

那么,我還可以將AppPool設置添加到我的Web部署包中嗎? 我知道appPoolConfig提供程序只是IIS7 +,我很好用這個限制。 我過去一直反對這個問題,從來沒有找到解決方案。 18個月后,我們有了一個新的VisualStudio版本和一個新的Web發布管道,是否有新的選項來解決這個問題? 或者也許是我第一次解決這個問題時錯過了什么?

編輯

好的,我看到以下選項:

  1. 配置我的項目以同步IIS實例中的設置。 如上所述,我不喜歡它,因為它將設置置於項目之外 ,這意味着必須精心配置環境以構建+發布。 此外,它還拖拽了我不希望包含的其他IIS設置。
  2. 將某些內容注入Web發布管道(WPP)以修改archive.xml。 我過去曾玩過這種玩具並且成功有限。 一個問題是管道與直接在archive.xml文件上工作不完全合作,另一個問題是涉及的一些更加神秘的屬性,比如MSDeploy.MSDeployProviderOptions似乎有一些Base64編碼的二進制文件? 不知道該放什么。
  3. 找到一個可以做我想要的現有“提供者”。 我可能在這里運氣不好, appPoolConfig提供程序似乎只想讀/寫IIS,而不是設置的XML文件。 有人知道嗎?
  4. 編寫我自己的“提供者”以生成清單輸出條目。 我不確定,是否可以編寫使用現有提供程序名稱寫入清單的自定義提供程序? 在, MyCustomPoolProviderappPoolConfig部分寫入清單? 這聽起來像是一種潛在的痛苦運動,可能會或可能不會起作用。 我還需要弄清楚進入MSDeploy.MSDeployProviderOptions的編碼嗎?

我感覺Web Deploy對於我正在努力實現的目標的根本障礙在於它是如何嚴格依賴“提供者”的。 預先存在的提供程序主要用於IIS同步, 而不是主要開發和發布。 碰巧這些提供商中的一些可以通過MSBuild 相對容易地連接,但大多數人堅持從IIS中提取數據,就是這樣。

您對appPoolConfig提供程序的理解是正確的,因為它只能在App Pool之間同步,並且無法直接提供配置。 您可能做的是以package形式保留appPool的副本(即msdeploy -verb:sync -source:appPoolConfig=PoolName -dest:package=apppool.zip )並嘗試劫持管道以便MSDeploy call將應用程序內容添加到包中,將現有內容留在那里。

或者,您可以始終將這些包分開,並使用對MSDeploy的不同調用來部署它們。

僅供參考, MSDeploy.MSDeployProviderOptions只是在打包時提供給提供程序的參數的編碼版本。 例如, -source:dirPath=c:\\,ignoreErrors=0x10293847 -dest:package=package.zip將打包ignoreErrors值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM