2014-02-26 46 views
3

我有一個UsingTask這是一個dll ..它引用了一些dll,它與using-task-dll不在同一個目錄中。我可以告訴MSBuild在哪裏尋找組件?

例如。

<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

爲了做到這一點,您需要更改MsBuild的裝配探測行爲。據我所知,有這樣做的道路。我覺得你最好的選擇這裏主要有以下幾種

  1. 使用ILMerge以便任務都包含在一個總成
  2. 強名稱+ GAC大會,這將使他們能夠探測

過程中發現我個人會選擇#1

相關問題