2009-05-29 106 views
2

我在MSDN論壇上發佈了這個問題,但一直沒能得到很多答案,所以決定在這裏試試。依賴項的依賴關係沒有被複制到輸出目錄

我有一個項目的依賴項庫沒有被複制到第二個項目的輸出目錄引用它的問題,當第一個庫大多是xaml。下面是當發生這種情況

SolutionX
       一個典型的場景 - SomeControls.Dll {包含WPF用戶控件}
                 外部參考:WPFTheme.dll *
        - MainApp.Exe
               項目參考:SomeControls.dll

這裏一般什麼情況是,構建解決方案時,WPFTheme.dll不會被複制到MainApp.Exe項目的輸出目錄。 (*這也適用於引用第三個項目,而不是外部)

我通常使用後構建事件來處理這種情況......但我發現問題是間歇性的。

如果我沒有在我的c#代碼中引用WPFTheme.dll中的任何類,但是我在xaml中這樣做,那麼在WPFTheme.dll庫不會被複制之前如此說。

但如果我從項目中的某些c#(甚至後端xaml.cs類)引用任何類(甚至只是將它們分配爲null) - 那麼一切都按照人們所期望的那樣工作。

那麼有其他人遇到過這個問題嗎?如果被xaml引用,是否有強制庫被複制的方法?

只是爲了添加更多信息......所有這些情況都發生在項目文件中顯示爲外部的庫中,在HintPath中有一個相對路徑。

謝謝大家,

ķ

+0

由於我是一個新用戶,我無法發佈鏈接到原始的MSDN線程。我發佈了一個關於如何重現問題的分步示例。它在Visual Studio-> Visual Studio WPF設計器論壇 – CtzKane 2009-05-29 22:46:51

回答

0

我有通過反射依賴注入此完全相同的問題,我避開它與後生成的事件和部署惡性腳本時,對不起,我想不出更多的幫助,看看轉發看到一個解決方案,你總是可以直接添加引用到啓動項目,可以進入一些有趣的問題,但長期來看,但它會工作

+0

中被命名爲「項目外部引用和依賴關係」。通過直接引用啓動項目來處理問題,您將進入一些有趣的(而非!)問題是絕對正確的。後期構建工作,並已除了解決這個問題之外正在做其他事情。但它仍然讓我感到困惑的是,如果你在代碼中引用它,那麼它一切正常 - 它意味着它將適用於某些圖書館,但不適合其他人! – CtzKane 2009-05-29 23:08:03