2010-06-18 174 views
2

我有幾個我的項目依賴的程序集。MSBuild - 設置參考路徑

這些存儲在項目的「Dependencies」文件夾下的目錄中。

所以像這樣的東西。

Solution 
    - Project 
     - Dependancies 
      FunkyAssembly.dll 
     - bin 
      - Debug 
      - Release 
     SomeCode.cs 

我引用FunkyAssembly.dll使用瀏覽和project.csproj我看到

<Reference Include="FunkyAssembly"> 
    <HintPath>Dependancies\FunkyAssembly.dll</HintPath> 
</Reference> 

到目前爲止好 - 除了一個發佈版本FunkyAssembly.dll被複制到發佈目錄之後(本身不是問題),但是未來的調試版本將引用此副本而不是依賴項中的副本。

如果您在Path中的參考屬性中,可以看到此內容。

這意味着如果更新了Dependencies \ FunkyAssembly.dll,那麼構建不會將其引用爲引用bin/Release中的舊副本。

任何方式來強制該死的東西拿起Dependencies \ FunkyAssembly.dll而不是HINT?

回答

2

這是我做的,不知道是否有更好的辦法

<Reference Include="FunkyAssembly"> 
    <HintPath>Dependancies\FunkyAssembly.dll</HintPath> 
</Reference> 

<Reference Include="Dependancies\FunkyAssembly.dll"> 
</Reference> 
+4

是我還是擁有的MSBuild /的csproj已經採取的事情了由同一人誰使Windows安裝程序如此無法理解?世界上只有3個人真正瞭解它,一個死了,一個瘋了,另一個忘記了...... – Ryan 2010-06-19 14:52:31