2013-10-30 14 views
3

你好,我有一個項目解決方案由幾個小項目組成。這些項目有下列方式依賴於其他一些:通過在VS 2010中的幾個項目的本地dll資源的級聯副本

(1)本機非託管C++的dll與設備控制功能

所使用的...

(2)C#項目封裝本地函數的.Net

是用來由...

(3)適配器包裝的特殊裝置要由框架限定的更一般抽象層

是用來由...

(4)一個簡單的例子實現嘗試通過抽象框架

現在的問題以使用該本機設備接口:本機DLL(1)被添加到.NET包裝項目(2)作爲「Hans Passant」設置爲this problem solution的「建立事件=內容」和「複製到輸出... =總是」的「現有項目」。本地dll通過DllImportAttribute在此包裝中使用。這對這個項目很好。該DLL將被複制到輸出目錄,並可以通過包裝找到。

包裝器(2)被用作adapter-wrapper項目(3)的「Reference」,並且在那裏原生dll(1)被複制到輸出目錄並且可以被.Net包裝器找到和使用(2)。 但是...

..當我將adapter-wrapper項目(3)添加到簡單示例項目(4)作爲「Reference」時,本機dll(1)將不會被複制到此輸出目錄示例項目(4)。所以dll不會被.Net包裝器(2)找到並導致System.DllNotFoundException。 (3)添加到另一個項目,所有必需的,並在輸出目錄(包括本地dll(1))的dll, ))被複制到引用項目輸出目錄中?這不需要添加本地dll作爲示例實現的資源,如Marc Gravell所說。

非常感謝,J

回答

1

也許我失去了一些東西,但有關更改輸出路徑每個項目的建設,以一個共同的「bin」文件夾呢?