MSBuild使用任务和解析引用
我使用NuGet拉入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
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。