[英]vs2010 web application package deploy.cmd - specify application pool
[英]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發布管道,是否有新的選項來解決這個問題? 或者也許是我第一次解決這個問題時錯過了什么?
編輯
好的,我看到以下選項:
MSDeploy.MSDeployProviderOptions
似乎有一些Base64編碼的二進制文件? 不知道該放什么。 appPoolConfig
提供程序似乎只想讀/寫IIS,而不是設置的XML文件。 有人知道嗎? MyCustomPoolProvider
將appPoolConfig
部分寫入清單? 這聽起來像是一種潛在的痛苦運動,可能會或可能不會起作用。 我還需要弄清楚進入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.