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

3

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

例如:

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

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

而且Core确实存在...

\Solution
    \packages
        \FooAwesome
        \Foo.Core

那么我如何告诉我的msbuild.proj文件,即使我正在使用 FooAwesome ,我知道它需要 Foo.Core 并且可以找到该dll... ~here~。是否可能?
1个回答

1
为了使其工作,您需要更改MsBuild的程序集探测行为。据我所知,没有办法做到这一点。我认为您在这里最好的选择是以下几种:
  1. 使用ILMerge,以便任务包含在一个程序集中
  2. 强名称+ GAC程序集,这将允许它们在探测期间被找到
个人而言,我会选择#1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接