2008-12-09 53 views
1

我試圖通過的MSBuild在遠程服務器上創建一個新的網站設置的ASP.NET版本(我喜歡叫它「msdeploy」)。我已經下載並使用了SDC任務,MSBuildExtension任務和MSBuildCommunity任務,但我根本無法做到。通過MSBUILD

我估計WebDirectorySetting(從MSBuild.Community.Tasks.IIS)是我最好的選擇,但我不能找到合適的SettingName通過。

我想使用某種MSBuild任務來完成這一點,但也許它根本就不存在。定製VBS或WMI是我的最後一招......

感謝

回答

1

感謝您的答覆。我玩弄了這兩個建議,但這兩個建議都不是「確切」的,即使它完成了工作。我看不到我們會回到1.1,所以我們最終確定了它的默認值,但我仍然抱着希望有一些任務可以做到這一點。

再次感謝

1

我試圖做同樣的事情了一段時間,但最終意識到,我們基本上使用2.0版的一切,所以我所做的默認在我部署的機器上使用aspnet_regiis。

如果你可以運行,你可以使用ASPNET_REGIIS.EXE與-sn到一個特定的asp.net版本註冊到一個應用程序的遠程服務器上的shell命令。

http://msdn.microsoft.com/en-us/library/k6h9cz8h(VS.80).aspx

1

運行從您的MSBuild任務內的ASPNET_REGIIS工具與Exec的標籤。它不是「乾淨」,但它的工作原理。

0

的這一切工作簡單,下面幾行:

首先,創建網站目錄:

<WebDirectoryCreate 
    ServerName="$(DeployServerName)"   
    VirtualDirectoryName="MyVirualSiteName" /> 

其次,應用ASP.NET版本,你想:

<InstallAspNet 
    Path="W3SVC/1/Root/MyVirualSiteName" 
    Version="Version20" /> 

盡我所能,

2

IIS7上你可以用MSBuild擴展包做這種方式:

<MSBuild.ExtensionPack.Web.Iis7AppPool TaskAction="Create" 
       Name="$(AppPool)" 
       IdentityType="SpecificUser"     
       PipelineMode="Integrated" 
       ManagedRuntimeVersion="v4.0" 
       PoolIdentity="$(UserName)" 
       IdentityPassword="$(UserPassword)" 
+0

正是我需要的,謝謝:) +1 – 2010-12-10 11:14:04

相關問題