我可以告诉MSBuild在哪里查找程序集吗?

时间:2014-02-26 03:17:38

标签: c# .net msbuild nuget

我有一个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 ......〜这里〜

可能的?

1 个答案:

答案 0 :(得分:1)

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

  1. 使用ILMerge以使任务包含在一个程序集中
  2. 强烈命名+ GAC可以在探测过程中找到它们的组件
  3. 我个人会选择#1