ASP.NET - 添加GAC参考不可能吗?

时间:2009-09-21 18:38:17

标签: .net asp.net assemblies gac

我是ASP.NET的新手,有一些基本的疑虑。

1)公共程序集部署在GAC中。即使我选择“添加引用”,我也可以

没有指向c:\ windows \ assembly(我希望这是不可能的)。还是我需要参考

从源项目的.. \ Bin文件夹组装(自定义程序集)。它背后有什么考虑吗?

2)为什么GAC不允许使用exe文件?

3 个答案:

答案 0 :(得分:3)

如果您需要手动访问GAC中的程序集,我所知道的最简单方法是Start > Run > "C:\windows\assembly\gac_msil"。 GAC中的每个程序集都有一个文件夹,因此您可以在那里浏览并找到所需DLL的确切路径,这通常类似于:

C:\windows\assembly\GAC_MSIL\System.Net\3.5.0.0__b03f5f7f11d50a3a\System.Net.dll

这只是name\version__publickey\filename.dll

可能有更“正确”的方式,所以如果有人知道那是什么,请纠正我!

关于第二个问题,我只能假设。 GAC用于类库而不是可执行文件确实有意义,但这主要是哲学上的。我不知道这种或那种技术论点。

编辑:答案下面那个可爱的第一条评论竟然是一种误解,并得到了解决:)

答案 1 :(得分:0)

是的,GAC适用于库,因为它用于建立对集合库的全局访问。与不同应用程序共享的一个。为什么你需要在GAC中使用exe(应用程序)?了解这一点可能有助于获得更好的答案。

至于问题1,我不确定你在访问什么。人们混淆的一个概念是GAC不是物理位置。它只是一个注册表。如果您在gac中注册,则不会将该dll移动到框架目录中。

答案 2 :(得分:0)

我创建了一个完全免费的工具,可以帮助您实现目标。 Muse VSReferences将允许您从Add GAC Reference菜单项中向项目添加Global Assembly Cache引用。