MSBuild/YUICompressor错误
使用以下msbuild配置:MSBuild/YUICompressor错误,msbuild,yui,Msbuild,Yui,使用以下msbuild配置: <?xml version="1.0" encoding="utf-8"?> <Project xmlns="http://schemas.microsoft.com/developer/MsBuild/2003"> <UsingTask TaskName="CompressorTask" AssemblyFile="Yahoo.Yui.Compressor.dll" /> &l
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/MsBuild/2003">
<UsingTask
TaskName="CompressorTask"
AssemblyFile="Yahoo.Yui.Compressor.dll" />
<PropertyGroup>
<JavaScriptOutputFile Condition=" '$(JavaScriptOutputFile)'=='' ">..\..\site.se\javascript\javascript.min.js</JavaScriptOutputFile>
</PropertyGroup>
<Target Name="CompressorTask">
<ItemGroup>
<JavaScriptFiles Include="..\..\site.se\javascript\javascript.js"/>
</ItemGroup>
<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>
</Project>
..\..\site.se\javascript\javascript.min.js
我得到以下错误:
xml(14,11):错误MSB4067:-下的元素
-元素未知。(翻译自瑞典语)
我使用的是32位的.NET2.0版本的MsBuild
有什么问题吗?您不能将
项目组
放在具有.NET 2 MSBuild的目标中。您必须使用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>
<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>