Я написал скрипт msbuild для упаковки веб-приложения следующим образом:
<Project
xmlns="http://schemas.microsoft.com/developer/msbuild/2003"
ToolsVersion="4.0"
DefaultTargets="Main">
<PropertyGroup>
<WebAppSourceDir>e:\Web</WebAppSourceDir>
</PropertyGroup>
<Import Project="$(WebAppSourceDir)\WebApp.csproj"/>
<ItemGroup>
<BuiltFiles Include="$(WebAppSourceDir)\bin\**\*.*"/>
</ItemGroup>
<Target Name="Main" DependsOnTargets="" >
<Copy SourceFiles="$(WebAppSourceDir)\%(Content.Identity)"
DestinationFiles="c:\temp\buildoutput\%(Content.Identity)" Condition="%(Content.Link) == ''"/>
<Copy SourceFiles="@(BuiltFiles)"
DestinationFolder="c:\temp\buildoutput\bin\%(RecursiveDir)"/>
</Target>
</Project>
Это прекрасно работает, но мы создаем несколько веб-проектов в нашем решении, и все они упакованы одновременно с одним и тем же большим проектом msbuild. Так как же я могу запросить только элементы содержимого данного файла csproj в любое время?
В качестве альтернативы ... какой лучший способ сделать то, что я пытаюсь достичь?
Спасибо.