2011-12-27 38 views
2

System.dll为例:.net framework 4安装程序会将多少个程序集副本安装到我的机器上?

我找到了一个位置:C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\Profile\Client\System.dll

一个位置:C:\Windows\Microsoft.NET\Framework\v4.0.30319\System.dll

和一个在这里:C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c561934e089\System.dll

为什么我们不能仅仅只具有一个在GAC?

+0

是什么让你觉得这些是副本?你有比较它们吗? – 2011-12-27 02:33:43

+0

@John Saunders他们都有这个签名:System,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089 – CuiPengFei 2011-12-27 02:54:05

+0

相同大小?相同的内容? – 2011-12-27 02:55:40

回答

2

Reference Assemblies文件夹中的DLL文件是包含成员声明并且没有实际代码的存根文件。

Visual Studio使用它们来向您显示哪些成员在您要定位的配置文件中可用。
对于客户端配置文件,可移植类库和Metro风格应用程序,您将看到不同组的引用程序集,它们具有不同的DLL文件。

+0

谢谢,那么在“C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319”下呢?这是一个全尺寸的。 – CuiPengFei 2011-12-27 03:00:19

+0

这是标准副本; GAC并不意味着存储文件。 (AFAIK;我可能对此有错) – SLaks 2011-12-27 03:23:24

相关问题