Вы не можете поместить ItemGroup
в цель с MSBuild для .NET 2. Вы должны использовать задачу CreateItem
или поместить ее за пределы цели. В вашем случае вам не нужно динамически создавать элемент JavaScriptFiles
, поэтому вам просто нужно поместить его за пределы цели.
Вне
<ItemGroup>
<JavaScriptFiles Include="..\..\site.se\javascript\javascript.js"/>
</ItemGroup>
<Target Name="CompressorTask">
<CompressorTask
JavaScriptFiles="@(JavaScriptFiles)"
ObfuscateJavaScript="True"
PreserveAllSemicolons="True"
DisableOptimizations="False"
EncodingType="utf-8"
DeleteJavaScriptFiles="false"
LineBreakPosition="-1"
JavaScriptOutputFile="$(JavaScriptOutputFile)"
LoggingType="HardcoreBringItOn"
ThreadCulture="en-us"
IsEvalIgnored="false" />
</Target>
Использование CreateItem
:
<Target Name="CompressorTask">
<CreateItem Include="..\..\site.se\javascript\javascript.js">
<Output TaskParameter="Include" ItemName="JavaScriptFiles"/>
</CreateItem>
<CompressorTask
JavaScriptFiles="@(JavaScriptFiles)"
ObfuscateJavaScript="True"
PreserveAllSemicolons="True"
DisableOptimizations="False"
EncodingType="utf-8"
DeleteJavaScriptFiles="false"
LineBreakPosition="-1"
JavaScriptOutputFile="$(JavaScriptOutputFile)"
LoggingType="HardcoreBringItOn"
ThreadCulture="en-us"
IsEvalIgnored="false" />
</Target>