首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

装了多个.net的版本,那么GAC是怎么自动区分的

2014-06-21 
装了多个.net的版本,那么GAC是如何自动区分的?msdn(http://msdn.microsoft.com/zh-cn/library/dkkx7f79(v

装了多个.net的版本,那么GAC是如何自动区分的?
msdn(http://msdn.microsoft.com/zh-cn/library/dkkx7f79(v=vs.110).aspx)上面说:从 .NET Framework 4 开始,全局程序集缓存的默认位置为 %windir%\Microsoft.NET\assembly。 

我在win7的机器上同时安装了VS2008和2012,也就同时有了.net3.5和.net4.5。我的上述GAC目录是C:\Windows\Microsoft.NET\assembly,我看下面的目录有GAC_32,GAC_64,GAC_MSIL,并没有在目录和文件的名字上严格区分.net3.5和.net4.5

那么我的.net程序在运行的时候,岂不是C#2008编译出来的和C#2012编译出来的,使用的是同一个System.XXX名称空间的dll? 例如,有C:\Windows\Microsoft.NET\assembly\GAC_32\System.Data\v4.0_4.0.0.0__b77a5c561934e089\System.Data.dll这个文件,那么是不是凡是用到了System.Data名称空间的程序,无论是.net3.5的还是4.5的,都会用到这个dll?

有点难以区分了。
[解决办法]
程序集有版本号
http://msdn.microsoft.com/zh-cn/library/51ket42z%28v=vs.110%29.aspx
  
*****************************************************************************
签名档: http://feiyun0112.cnblogs.com/

热点排行