代码之家  ›  专栏  ›  技术社区  ›  er-v

由项目引用。NET 4.0程序集没有IL。怎样?为什么呢?

  •  2
  • er-v  · 技术社区  · 14 年前

    有件事我不明白。今天我想知道sistem.web.dll版本4.0.0.0中的内容,所以我决定找到这个组件所在的位置。

    alt text

    并使用Reflector打开这个程序集-所有方法都是空的-然后使用7.0 SDK中的ildasm。这就是我看到的

    alt text

    经过一些研究,我在GAC中找到了全功能的程序集。 实际上在这里

    C:\windows\assembly\nativeimages_v4.0.30319_32\system.web\82087f17d3b3f9c493e7261d608a6af4

    它们的尺寸要大得多。 因此,为什么引用不转到GAC,而是转到C:\Program Files(x86)\Reference Assemblies\Microsoft\Framework.NetFramework\v4.0\ 为什么他们不把我放在里面? 它是如何工作的?

    我有点不明白。

    1 回复  |  直到 6 年前
        1
  •  1
  •   Raj Kaimal    14 年前

    正如您所观察到的,它们是具有剥离的IL代码的DLL。如下面所述,您不能在GAC中引用assemblies,而且GAC不允许您存储XML文件。

    http://p3net.mvps.org/Topics/Basics/IntegratingGACWithVS.aspx

    此外,这有助于您针对.NET框架的不同版本,并在Visual Studio 2010中获得正确的IntelliSense。与2010年,如你所知,允许mutli目标。