我尝试在网上搜索此问题的解决方案,但似乎很不清楚。听起来人们正在看到这一点,但解决方案似乎对我不起作用。
我已从 NuGet 下载并安装了 YUICompressor.NET.MSBuild 2.3.0.0 到我的项目中。 我创建了一个 MSBuild 目标文件,该文件与所包含的示例文件非常相似,并且作为 .csproj 文件的一部分存在,因此我可以在 AfterBuild 步骤中运行它。
每次尝试构建 VS 项目时,我都会收到以下错误:
The "JavaScriptCompressorTask" task could not be loaded from the assembly SolutionDir\packages\YUICompressor.NET.MSBuild.2.3.0.0\lib\NET20\Yahoo.Yui.Compressor.Build.MsBuild.dll.
Could not load file or assembly 'Yahoo.Yui.Compressor, Version=2.3.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.
Confirm that the declaration is correct, that the assembly and all its dependencies are available, and that the task contains a public class that implements Microsoft.Build.Framework.ITask.
My folder structure is as follows:
\Solution
\packages
YUICompressor.NET.MSBuild.2.3.0.0\lib\NET20\
\build
ProjectFile.csproj
在 csproj 中我有:
<UsingTask TaskName="CssCompressorTask" AssemblyFile="packages\YUICompressor.NET.MSBuild.2.3.0.0\lib\NET20\Yahoo.Yui.Compressor.Build.MsBuild.dll" />
<UsingTask TaskName="JavaScriptCompressorTask" AssemblyFile="packages\YUICompressor.NET.MSBuild.2.3.0.0\lib\NET20\Yahoo.Yui.Compressor.Build.MsBuild.dll" />
<Target Name="AfterBuild">
<ItemGroup>
<JavaScriptFiles Include="someFile.js" />
</ItemGroup>
<JavaScriptCompressorTask SourceFiles="@(JavaScriptFiles)" OutputFile="build\combined.js" DeleteSourceFiles="false" CompressionType="None" ObfuscateJavaScript="false" PreserveAllSemicolons="true" />
<JavaScriptCompressorTask SourceFiles="@(JavaScriptFiles)" OutputFile="build\combined.min.js" DeleteSourceFiles="false" CompressionType="Standard" />
</Target>
我错过了什么吗?谁能帮我?谢谢。
最佳答案
您是否尝试直接从 codeplex 下载版本 2.3.0.0?然后确保 Yahoo.Yui.Compressor.Build.MsBuild.dll 和 Yahoo.Yui.Compressor.dll 驻留在同一目录中。像这样我就能让它工作了。
关于msbuild - 如何使用 YUI Compressor.Net MSBuild 任务 2.3.0.0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19665849/