Scripts.xml:
<UsingTask
TaskName="CompressorTask"
AssemblyFile="Yahoo.Yui.Compressor.dll" />
<PropertyGroup>
<JavaScriptOutputFile Condition=" '$(JavaScriptOutputFile)'=='' ">..\..\site.com\javascript\offerta.min.js</JavaScriptOutputFile>
</PropertyGroup>
<Target Name="ScriptTask">
<ItemGroup>
<JavaScriptFiles Include="..\..\site.com\javascript\offerta.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>
我使用bat文件运行它:
C:\ Windows \ Microsoft.NET \ Framework \ v3.5 \ msbuild.exe Scripts.xml
暂停
我得到了:
“F:\ Checkouts \ Offerta \ trunk \ build \ site.com \ Scripts.xml”(默认目标)(1) - &GT; (ScriptTask目标) - &gt; F:\ Checkouts \ Offerta \ trunk \ build \ site.com \ Scripts.xml(16,7):错误MSB4036: 找不到“CompressorTask”任务。检查以下内容:1。)的名称 项目文件中的任务与任务类的名称相同。 2.) 任务类是“公共”并实现Microsoft.Build.Framework.ITask inte rface。 3.)在项目文件中正确声明任务, 或位于“C:\ Windows \ Microsoft.NET \ Framework \ v2”中的* .tasks文件。 0.50727“目录。
我做错了什么?我正在使用Yahoo.Yui.Compressor v1.6.0.0.zip(适用于.NET 3.5)。当我明确地运行C:\ Windows \ Microsoft.NET \ Framework \ v3.5 \ msbuild.exe时,为什么msbuild报告“C:\ Windows \ Microsoft.NET \ Framework \ v2.0.50727”?
答案 0 :(得分:2)
使用Yahoo.Yui.Compressor。 MsBuildTask .dll版本1.6.0.1
不幸的是,这个版本只能通过Nuget Library
获得