MSBuild UsingTask和解析引用

时间:2013-08-21 17:43:53

标签: msbuild nuget msbuild-task yui-compressor

我正在使用NuGet来引入YUICompressor.NET.MSBuild,而YUICompressor.NET又会EcmaScript.Net<UsingTask TaskName="CssCompressorTask" AssemblyFile="$(SolutionDir)\packages\YUICompressor.NET.MSBuild.2.3.0.0\lib\NET20\Yahoo.Yui.Compressor.Build.MsBuild.dll" />

它还添加了对我的Web项目中所有三个DLL的引用。 然后,我可以像这样添加UsingTask引用:

AfterBuild

然后使用该任务在/packages目标

中压缩我的Javascript / CSS

但是,我不想在我的web项目中引用这些DLL(因为它们实际上并不是我发布的内容的一部分)...但是当我删除引用时,CssCompressorTask再也找不到了其他的两个相关的DLL(它们位于Yahoo.Yui.Compressor.Build.MsBuild.dll文件夹下的不同文件夹中 - 如果它们位于AssemblySearchPaths旁边就可以正常工作了)

信不信由你,我花了好几个小时试图让依赖关系解决: 首先,我尝试修改{{1}}以包含所有其他/ packages子文件夹,如下所示:

https://github.com/BenPhegan/NuGetAutoTransitiveDependencies

这不起作用,所以我尝试创建一个内联汇编解析器,如下所示:

MSBuild UsingTask Resolve References

这也不起作用。目前,我认为我唯一的选择是将依赖的DLL与UsingTask dll一起使用,不管怎么样......但这感觉就像我的MSBuild foo让我失望:/

任何想法都非常感谢!感谢。

2 个答案:

答案 0 :(得分:0)

我需要自定义任务才能使用JSON API(NewtonSoft)。在我运行gacutil /i [path to dll]之前,MSBuild没有加载外部dll。

答案 1 :(得分:0)

好的,v2.4.0.0+现在包含了DLL