【发布时间】:2013-08-21 17:43:53
【问题描述】:
我正在使用 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" />
然后使用任务将我的 Javascript/CSS 压缩到 AfterBuild 目标中
但是,我不想在我的 Web 项目中引用这些 DLL(因为它们实际上并不是我发布的内容的一部分)......但是当我删除引用时,CssCompressorTask 将无法再找到另一个两个相关的 DLL(它们位于 /packages 文件夹之外的不同文件夹中 - 如果它们与 Yahoo.Yui.Compressor.Build.MsBuild.dll 并排,则可以正常工作)
信不信由你,我花了几个小时试图解决依赖关系:
首先,我尝试修改 AssemblySearchPaths 以包含所有其他 /packages 子文件夹,如下所示:
https://github.com/BenPhegan/NuGetAutoTransitiveDependencies
这不起作用,所以我尝试创建一个内联程序集解析器,如下所示:
MSBuild UsingTask Resolve References
这也不起作用。目前,我认为我唯一的选择是将依赖的 DLL 与 UsingTask dll 一起获取,一种或另一种方式......但这感觉就像我的 MSBuild foo 让我失望了:/
非常感谢任何想法!谢谢。
【问题讨论】:
-
目前我遇到了同样的问题。你找到解决办法了吗?
-
这篇文章与stackoverflow.com/questions/19665849/…重复,你可以清楚地看到它的作者所说的。
标签: msbuild nuget msbuild-task yui-compressor