【问题标题】:Can I tell MSBuild where to look for assemblies?我可以告诉 MSBuild 在哪里寻找程序集吗?
【发布时间】:2014-02-26 03:17:38
【问题描述】:

我有一个UsingTask,它是一个 dll .. 它引用了一些与 using-task-dll 不在同一目录中的 dll。

例如。

<UsingTask TaskName="FooAwesome" AssemblyFile="$(SolutionDir)packages\FooAwesome\lib\NET20\FooAwesome.dll" />

错误:FooAwesome.dll 需要 Foo.Core.dll

核心确实存在……

\Solution
    \packages
        \FooAwesome
        \Foo.Core

那么我怎么能告诉我 msbuild.proj 文件,即使我正在使用 FooAwesome .. 我知道它需要 Foo.Core 并且它可以找到那个 dll ... ~here~。

可能吗?

【问题讨论】:

    标签: c# .net msbuild nuget


    【解决方案1】:

    为了完成这项工作,您需要更改 MsBuild 的程序集探测行为。据我所知,有办法做到这一点。我认为您最好的选择如下

    1. 使用 ILMerge 将任务包含在一个程序集中
    2. 强名称 + GAC 将允许在探测期间找到它们的程序集

    我个人会选择#1

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-26
      相关资源
      最近更新 更多