码迷,mamicode.com
首页 > 其他好文 > 详细

Visual Studio Reference Study.

时间:2017-09-07 12:07:01      阅读:233      评论:0      收藏:0      [点我收藏+]

标签:enc   public   inter   version   5.0   pass   neu   window   chart   

最近,在编辑.NET3.5版本代码是,突然爆出错误。 查处是跟参照有关。

在过去的.vbproj文件中,有如下参照

   <Reference Include="System.Windows.Forms.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />

 代码中是因为Chart Controller而引用到了System.Windows.Forms.DataVisualization资源包。

在VS环境下,打开对应的项目,可以看到相应的参照属性如下

(1)C:\windows\assembly\GAC_MSIL\System.Windows.Forms.DataVisualization\3.5.0.0__31bf3856ad364e35\System.Windows.Forms.DataVisualization.dll 

 (2)C:\Program Files (x86)\Microsoft Chart Controls\Assemblies\System.Windows.Forms.DataVisualization.dll

 可以看到后面的 (1)或者(2),两者均可以。 需要考虑,全局注册Global Assembly Catch.

pasting

 

这里分析vbproj中的Version版本号,与PublicKeyToken刚好在(1)中可以反映。   而C:\windows\assembly下的目录全部是用于参考的特殊文件或者文件夹,

 通过普通的窗口只能看到一个Mark的文件夹,而不能看到其内部的文件。如果要看,必须通过Dos 窗口看。

注册表中查询: 31bf3856ad364e35, 可以看到一个Key名为:

HKEY_CLASSES_ROOT\Installer\Assemblies\c:|Program Files (x86)|Microsoft Silverlight|5.1.50906.0|bg|Microsoft.VisualBasic.resources.dll

HKEY_CLASSES_ROOT\Installer\Assemblies\c:|Program Files (x86)|Microsoft Silverlight|5.1.50906.0|cs|Microsoft.VisualBasic.resources.dll 

 内部bg, cs等应该是各国语言对应。的对象。可以看出,这里是微软自己封装好的Assemblies。

 HKEY_CLASSES_ROOT\TypeLib\{11A8B8EE-BF30-409A-8EF7-3A143EF70332}\1.0\PrimaryInteropAssemblyName  Value=

               Microsoft.Interop.Security.AzRoles Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 


HKEY_CLASSES_ROOT\Wow6432Node\TypeLib\{11A8B8EE-BF30-409A-8EF7-3A143EF70332}\1.0

               Microsoft.Interop.Security.AzRoles Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 

 

HKEY_CURRENT_USER\Software\Microsoft\Installer\Assemblies\c:|Program Files (x86)|Microsoft Chart Controls|Assemblies|System.Web.DataVisualization.dll System.Web.DataVisualization,version="3.5.0.0",publicKeyToken="31bf3856ad364e35",processorArchitecture="MSIL",fileVersion="3.5.30729.116",culture="neutral"

 value O`X&9fQNo8q+=[WOk(@QChart_Feature>nLA{5MHuu=5c.h^A.xE[

HKEY_CURRENT_USER\Software\Microsoft\Installer\Assemblies\Global System.Windows.Forms.DataVisualization,version="3.5.0.0",publicKeyToken="31bf3856ad364e35",processorArchitecture="MSIL",fileVersion="3.5.30729.116",culture="neutral"

value O`X&9fQNo8q+=[WOk(@QChart_Feature>v‘=bOR[V[A!n0Y5w^}Hc

 最终在官方网站,下载了一个MSChart.exe安装包,解决了在属性栏中找不到下及GAC文件问题。

C:\windows\assembly\GAC_MSIL\System.Windows.Forms.DataVisualization\3.5.0.0__31bf3856ad364e35\System.Windows.Forms.DataVisualization.dll

 微软是如何管理,自己封存的各种资源DLL, 仍然需要考证,分析。 

Visual Studio Reference Study.

标签:enc   public   inter   version   5.0   pass   neu   window   chart   

原文地址:http://www.cnblogs.com/tomclock/p/7488579.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!