MonoDevelop的编译与放大器; GAC [英] MonoDevelop Compilation & GAC

查看:189
本文介绍了MonoDevelop的编译与放大器; GAC的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有点困惑,这里发生了什么。

I'm a bit confused as to what's happening here.

我的理解是,当需要在运行时组件,运行时会首先尝试从正在执行的目录(或在相关的可执行文件所在的目录)加载程序集。这之后,它会试图找到GAC内的程序集。

My understanding is that when an assembly is required at runtime, the runtime will first try to load the assembly from the executing directory (or the directory where the dependant executable is located). After which it will attempt to find the assembly within the GAC.

首先,我是在Windows上。

First of all, I am on Windows.

现在,当我编译我的解决方案是VS,一切工作正常(如预期),但是当我编译MonoDevelop中相同的解决方案,编译停止由于有关失踪log4net的引用(确切的装配误差我手动安装到GAC来避免这种情况)。

Now, when I'm compiling my solution is VS, everything works fine (as expected), but when I compile the same solution in MonoDevelop, the compilation stops due to errors pertaining to a missing log4net reference (the exact assembly for which I manually installed into the GAC to avoid this situation).

所以,我的问题是:是否MonoDevelop的看GAC在编译时确定的装配是可用的,或者是有没有,我需要提供所需的装配其他位置

So, my question is this: Does MonoDevelop look at the GAC at compilation time to determine if an assembly is available, or is there another location in which I need to provide the required assembly?

感谢您的帮助!

推荐答案

从<一个href=\"http://monodevelop.com/FAQ#I_added_an_assembly_to_the_GAC.2c_why_doesn%27t_it_appear_in_the_assemblies_list_when_I_try_to_add_a_reference_in_a_MonoDevelop_project.3f\"相对=nofollow> MonoDevelop的网站:

我添加了一个装配到GAC,为什么没有出现在名单集会时,我尝试在MonoDevelop的项目中添加一个参考?

Bacause MonoDevelop的不看在GAC组件。在Mac
  和Linux,MonoDevelop的使用的pkg-config来查找已安装的软件包
  并获得每个包提供组件列表。一套
  指定在其中必须有一个.PC文件集的此列表
  安装在标准的pkg-config目录下。

Bacause MonoDevelop does not look for assemblies in the GAC. On Mac and Linux, MonoDevelop uses pkg-config to locate installed packages and get the list of assemblies that each package provides. A package specifies this list of assemblies in a .pc file which has to be installed in the standard pkg-config directory.

如果您正在开发自动出库,MonoDevelop的可
  为您的项目.PC文件(在项目选项对话框,
  选择Linux的部署设置,并勾选生成.PC文件
  选项​​)。

If you are developing a library, MonoDevelop can automatically generate a .pc file for your project (in the project options dialog, select "Linux Deployment Settings", and check the "Generate .pc file" option).

在目标定位在Windows .NET,MonoDevelop的使用相同的
  AssemblyFolders mechamisn的VS使用。

When targetting .NET on Windows, MonoDevelop uses the same AssemblyFolders mechamisn that VS uses.

这篇关于MonoDevelop的编译与放大器; GAC的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆