我正在尝试在我的 MSBuild 文件中编写一个自定义任务,以使用 Google Closure Compiler 压缩一些 js 文件。我从该站点下载了 ClosureCompiler.dll 和 ClosureCompiler.tasks 文件,并将它们保存在我的 m/c 上的一个文件夹中。我在我的 csproj 文件中添加了以下行
<Import Project="C:\Projects\Closure\ClosureCompiler.tasks" />
<Target Name="AfterBuild">
<ItemGroup>
<JS Include="test.js" />
</ItemGroup>
<ClosureCompiler CompilationLevel="SIMPLE_OPTIMIZATIONS" SourceFiles="@(JS)" SourceExtensionPattern="\.js$" TargetExtension=".min.js" />
</Target>
test.js 文件保存在我的项目文件的根目录中。我不想包含可选的 ApiUrl,因为我想使用 ClosureCompiler.dll 在本地压缩文件。ClosureCompiler.tasks 文件是
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<UsingTask TaskName="ClosureCompiler" AssemblyFile="C:\Projects\Closure\ClosureCompiler.dll" />
</Project>
但是,当我尝试编译项目时,它给了我一个错误:
Compilation Failed: test.js, Reason: Object reference not set to instance of an object
任何人都可以帮助解决问题或我做错了什么吗?