2009-03-26 3 views

답변

2

메타 데이터가 항목과 다른 경우 하나의 항목에 대해 다른 메타 데이터가있을 수 있지만 메타 데이터에는 하나의 값만있을 수 있습니다. Microsoft.Build.Engine 어셈블리에 리플렉터를 사용

(BuildItem.EvaluateAllItemMetadata (...))를 하나만 가질 수 지정된 메타 데이터 이름에 대한 그래서, 당신은 사전도에 저장되는 항목에 대한 메타 데이터 참조 값.

이 너무 좋아 항목에 대한 이름으로 메타 데이터를 사용하여 귀하의 경우의 해결 방법 :

<ItemGroup>  
    <Assemblies Include = "S:\SVN\SomeDirectory\src\"> 
    <excludeAssembly>exludeAssemblySet</excludeAssembly> 
    </Assemblies> 
</ItemGroup> 

<ItemGroup> 
    <exludeAssemblySet Include="AssemblyName_1"/> 
    <exludeAssemblySet Include="AssemblyName_2"/> 
    <exludeAssemblySet Include="AssemblyName_3"/> 
    <exludeAssemblySet Include="AssemblyName_4"/> 
</ItemGroup> 

// Approximative syntax, I don't know what you want to do 
var itemData = itemTask.GetMetadata("excludeAssembly"); 
BuildItemGroup excludeAssemblies = project.GetEvaluatedItemsByName(itemData);