我正在尝试将MSBuild.ExtensionPack.Web.Iis7AppPool
任务与 GetInfo 任务操作一起使用。该任务的输出参数是 SiteInfo 属性,它的类型是 ITaskItem。这是一个属性,而不是一个集合。
如何访问 SiteInfo 元数据?我可以用 $ 访问,但我能得到的只是网站名称。我尝试使用 %(SiteInfo.) 没有成功。
我正在尝试将MSBuild.ExtensionPack.Web.Iis7AppPool
任务与 GetInfo 任务操作一起使用。该任务的输出参数是 SiteInfo 属性,它的类型是 ITaskItem。这是一个属性,而不是一个集合。
如何访问 SiteInfo 元数据?我可以用 $ 访问,但我能得到的只是网站名称。我尝试使用 %(SiteInfo.) 没有成功。
如果输出参数是 ITaskItem 并且您想要访问元数据,那么您需要将其分配给 ItemGroup 而不是 Property。
<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>