【问题标题】:MSBuild UsingTask and resolving referencesMSBuild UsingTask 和解析引用
【发布时间】:2013-08-21 17:43:53
【问题描述】:

我正在使用 NuGet 拉入 YUICompressor.NET.MSBuild,然后拉入 YUICompressor.NETEcmaScript.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 让我失望了:/

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

【问题讨论】:

标签: msbuild nuget msbuild-task yui-compressor


【解决方案1】:

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

【讨论】:

  • 很高兴为您工作...但是,我真的不想依赖 GAC。
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 2012-11-12
    • 2011-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-23
    • 2021-04-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多