MSBuild使用任务和解析引用

MSBuild使用任务和解析引用,msbuild,nuget,msbuild-task,yui-compressor,Msbuild,Nuget,Msbuild Task,Yui Compressor,我使用NuGet拉入YUICompressor.NET.MSBuild,这反过来又拉入YUICompressor.NET和EcmaScript.NET 它还添加了对我的web项目中所有三个DLL的引用。 然后,我可以添加UsingTask引用,如下所示: <UsingTask TaskName="CssCompressorTask" AssemblyFile="$(SolutionDir)\packages\YUICompressor.NET.MSBuild.2.3.0.0\lib\NET

我使用NuGet拉入
YUICompressor.NET.MSBuild
,这反过来又拉入
YUICompressor.NET
EcmaScript.NET

它还添加了对我的web项目中所有三个DLL的引用。 然后,我可以添加UsingTask引用,如下所示:

<UsingTask TaskName="CssCompressorTask" AssemblyFile="$(SolutionDir)\packages\YUICompressor.NET.MSBuild.2.3.0.0\lib\NET20\Yahoo.Yui.Compressor.Build.MsBuild.dll" />

然后使用该任务在
AfterBuild
目标中压缩我的Javascript/CSS

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

信不信由你,我花了数小时试图解决依赖关系: 首先,我尝试修改
assemblySearchPath
以包括所有其他/packages子文件夹,如下所示:

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

这也不行。目前,我认为我唯一的选择是以某种方式将依赖dll与UsingTask dll一起获取。。。但我觉得我的MSBuild-foo让我失望了:/


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

我需要自定义任务来使用JSON API(NewtonSoft)。MSBuild没有加载外部dll,直到我运行了
gacutil/I[path to dll]

确定,现在包括dll

当前我遇到了相同的问题。你找到解决方法了吗?这篇文章的可能副本是副本,你可以清楚地看到作者所说的。很高兴这对你有用。。。然而,我真的不想依赖GAC。