我正在尝试在Visual Studio项目中配置YUICompressor.NET。
据我所知,我必须创建一个.proj文件并将其添加到我的解决方案中。之后,我需要创建一个构建后的事件来构建这个.proj文件,然后我会得到我想要的输出(缩小的js / css文件)。
所以,我有:
此.proj包含:
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/MsBuild/2003">
<UsingTask TaskName="CssCompressorTask" AssemblyFile="\..\packages\YUICompressor.NET.MSBuild.2.7.0.0\lib\NET20\Yahoo.Yui.Compressor.Build.MsBuild.dll" />
<UsingTask TaskName="JavaScriptCompressorTask" AssemblyFile="\..\packages\YUICompressor.NET.MSBuild.2.7.0.0\lib\NET20\Yahoo.Yui.Compressor.Build.MsBuild.dll" />
<Target Name="Minify">
<ItemGroup>
<!-- Single files, listed in order of dependency -->
<CssFiles Include="Content\*.css"/>
<JavaScriptFiles Include="Scripts\*.js"/>
</ItemGroup>
<CssCompressorTask
SourceFiles="@(CssFiles)"
OutputFile="Content\min.css"
/>
<JavaScriptCompressorTask
SourceFiles="@(JavaScriptFiles)"
OutputFile="Scripts\min.js"
/>
</Target>
</Project>
我正在尝试将其构建如下:
我收到以下错误:
The command "msbuild C:\Users\Me\Desktop\MvcApplicationExample\MvcApplicationExample\YuiCompressorMsBuild.proj" exited with code 9009.
此错误表明“msbuild”不是有效命令。那么,我该如何构建这种类型的项目呢? (我已经按照本教程:youtube)
感谢您的帮助。
答案 0 :(得分:22)
正如您所说,Visual Studio可能无法找到MSBuild命令,请尝试使用以下命令
"$(MSBuildBinPath)\msbuild.exe"
使用msbuild的完整路径。
作为comment by Steve Medley,你不应该忘记封装引号。
答案 1 :(得分:4)
vfabre使用$(MSBuildBinPath)\ msbuild.exe是正确的,但遗漏了一件事。你应该将它封装在引号中,因为99.99%的时间是msbuild文件路径中的空格
答案 2 :(得分:1)
嗯,有一件事可能是一个问题,就是你想要它作为一个Post-build事件,但它是为Pre-build命令行设置的。