2014-01-07 61 views
0

我們將所有編譯後的裝配體複製到postbuild步驟(d:\ c \ bin \ assemblies)中的一個輸出文件夾中。單聲道裝配無法解析

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v2.0.50727\AssemblyFoldersEx\OutputFolder1] 
@="d:\\c\\bin\\assemblies" 

使用Windows和Mono我成功通過設置環境變量ReferencePath前:使用Windows和在此目錄中組件的Microsoft .NET框架的引用在編譯時使用註冊表項指向精確該輸出文件夾中找到運行xbuild。

SET ReferencePath=d:\c\bin\assemblies\ 

無論如何。這在linux下不起作用。在我看來,ReferencePath變量沒有被評估。任何人都可以告訴我如何爲Mono在compiletime for linux上尋找程序集的路徑嗎?

回答

0

Assemblies and the GAC

在運行時,單看在三個地方要運行的程序所需的組件。它首先搜索正在執行的程序集的位置。

... [切]

如果沒有發現有所需的組件,單聲道搜索MONO_PATH環境變量

... [切]

要設置Linux中的這個變量,如果使用bash外殼,類型:

出口MONO_PATH = /路徑/到/組件:/另一/路徑/到/組件

最後,如果一個組件是STI沒有找到,單聲道搜索全局程序集緩存(GAC),共享程序集的存儲庫

+0

我已閱讀有關MONO_PATH變量。它似乎只在運行時使用,而不是在編譯時使用。 – mklein

+0

@mklein你是對的......實際上問題關注「編譯時間」。我不知道xbuild,但使用mcs編譯器會寫如下: 'mcs -lib:/ path/to/assemblies ...' – o3o