我对.Net Framework的程序集感到有点困惑。
当我查看从我的控制台应用程序引用的框架dll时,它显示.net框架路径(C:\ Program Files(x86)\ Reference Assemblies \ Microsoft \ Framework.NETFramework \ v4.5.2)
当我查看调试中的模块窗口时,它显示了加载程序集的程序集和路径,它显示了GAC。
所以我的问题是,如果它从GAC加载程序集,为什么它显示来自.Net框架路径的引用路径,这条路径的作用是什么? (C:\ Program Files(x86)\ Reference Assemblies \ Microsoft \ Framework.NETFramework \ v4.5.2)
在csproj文件中,没有.Net Framework程序集的路径。 当我想从框架中添加一个新程序集时,这个程序集从哪个路径检索到以下窗口?
很抱歉,如果我找不到正确的字词来提问我的问题。 我希望,很明显:))
答案 0 :(得分:1)
引用程序集可供您引用和编译。它们仅包含签名,它们作为.NET Targeting Pack和SDK的一部分安装。
框架程序集是在运行时使用的,并且具有实际的实现。它们是在运行时绑定的并具有向后兼容性,因为它们可能是构建时针对的框架的较新版本。
有an excellent video that was posted recently by Immo Landwerth here。我强烈推荐观看它,因为它清楚地解释了一切。