2011-01-25 9 views
0

MSBuild.ExtensionPack.Web.Iis7AppPoolタスクをGetInfoタスクアクションで使用しようとしています。 このタスクの出力パラメータは、タイプがITaskItemのSiteInfoプロパティです。これはコレクションではなく、正しいものです。msbuild ITaskItem出力

どのようにしてSiteInfoメタデータにアクセスできますか?私は$でアクセスすることができますが、私が得ることのできるのはWebサイト名だけです。 %(SiteInfo。)を使用しようとしましたが、成功しませんでした。

答えて

4

出力パラメータがITaskItemで、メタデータにアクセスする場合は、プロパティの代わりにItemGroupに割り当てる必要があります。

<Target Name="Test"> 

    <MSBuild.ExtensionPack.Web.Iis7AppPool 
     TaskAction="GetInfo" 
     Name="DefaultAppPool"> 

     <Output TaskParameter="AppPoolInfo" ItemName="PoolInfo" /> 
    </MSBuild.ExtensionPack.Web.Iis7AppPool> 

    <Message Text="AppPool info = [@(PoolInfo)]" /> 
    <Message Text="AppPool MaxProcesses = [%(PoolInfo.MaxProcesses)]" /> 

    <MSBuild.ExtensionPack.Web.Iis7WebSite 
     TaskAction="GetInfo" 
     Name="Default Web Site"> 

     <Output TaskParameter="SiteId" PropertyName="WebId" /> 
     <Output TaskParameter="SiteInfo" ItemName="WebInfo" /> 
    </MSBuild.ExtensionPack.Web.Iis7WebSite> 

    <Message Text="WebSite id = [$(WebId)]" /> 
    <Message Text="WebSite app pool = [%(WebInfo.ApplicationPoolName)]" /> 

    </Target> 
関連する問題