2014-01-07 96 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