2010-10-22 50 views
4

我試圖將一個小型控制檯應用程序從Windows/.NET移植到Ubuntu/Mono。我有問題需要添加對Nlog單聲道版本的引用,我已將其添加到GAC。來自GAC的裝配未在Monodevelop的「編輯參考」對話框中列出

添加NLog.dll向大會證實:安裝NLog.dll到GAC(/ usr/lib中/單聲道/ GAC)

我也覺得它下GAC:/ usr/lib中/單/gac/NLog/2.0.0.0__5120e14c03d0593c

首先,我認爲這是由於我的umask 027.但我將文件更改爲644和目錄爲755.問題依然存在。

我一起工作:Ubuntu的10.04,MonoDevelop的2.2.1,單聲道版本2.4.4(Debian的2.4.4〜svn151842-1ubuntu4),NLOG NLog2.mono2-β1

你有什麼想法?

回答

4

「編輯引用」對話框不顯示在GAC中註冊的程序集,但是程序包使用.pc文件註冊的程序集。這在MonoDevelop FAQ中有解釋。

GAC是一個程序集註冊表,意在在運行時使用,而不是在開發時使用。如果您的應用程序依賴於另一個程序集,則該程序集必須由程序包提供(並通過.pc文件公佈),或者必須與您的應用程序捆綁在一起。在後面的例子中,你可以使用一個項目或'文件'引用程序集。

+0

謝謝你讓我意識到這一點! – 2010-10-22 17:37:29

+1

不適用於我。使用MonoDevelop 2.4.1,Mono 2.8.1,Mac OSX(10.6.5),最近安裝的Tao框架進入3個PKG_CONFIG_PATH列出的目錄中的1個,其中包括默認的/ usr/lib/pkgconfig(其中各種Toa * .pc文件直播)。我試着將變量的輸出行從/ etc/bashrc移動到/ etc/profile,以確保它更廣泛地可用,並且我甚至試圖將相同的輸出值編碼到MonoDevelop.app bundle的內部啓動腳本中,但無濟於事。當我嘗試編輯引用時,按字母順序排列的列表停在'S'(對於System。*),對於Toa。*不是'T'。想法? – 2011-01-09 00:14:49

+0

在安裝到GAC期間,看起來gacutil/gacutil2的'package assemblyName'參數未在'/ usr/lib/mono'內創建指向程序集的鏈接。我的TAO * .pc pkgconfig文件指向此目錄,但沒有任何內容。直接使用gacutil調用或使用包含原始gacutil調用的Tao Nant構建文件來提高使用Sudo的權限並不能解決這個問題。猜猜我必須手動創建* .dll鏈接。 – 2011-01-09 05:52:34