友情提示:如果本网页打开太慢或显示不完整,请尝试鼠标右键“刷新”本网页!阅读过程发现任何错误请告诉我们,谢谢!! 报告错误
狗狗书籍 返回本书目录 我的书架 我的书签 TXT全本下载 进入书吧 加入书签

VB2008从入门到精通(PDF格式英文版)-第158章

按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!




look at my passport。 The passport approach works; but it has a long; ugly number that is hard  

to remember。 

      The assembly name Implementations2。dll is a simple assembly identifier like Christian Gross。  

The following is the precise  identifier of the assembly。 



Implementations2; Version=1。0。0。0; Culture=neutral; PublicKeyToken=6bc4c8c27c08ba48 



      The identifier is quite a mouthful; but it says everything you need to know。 This specifies  

the name as Implementations2; the version number; the culture (bination of language and  

country); and a fixed…signed identifier。 When culture is defined as neutral; it means that only  

the language is taken into account and not the country…specific bit。 For example; if the culture  

is en…CA; with neutral; the CA bit will be ignored; which means a neutral form of English; known  

in this context as international English; will be used。  

      Using all of these attributes; you can uniquely identify an assembly。 This lets you load a  

specific version of the assembly; allowing multiple similar assemblies to be loaded simulta

neously。 This specific referencing lets you to use ponents according to version and language。 

      The extra information is specified in the source code file AssemblyInfo。vb。 If you want to edit  

this file; select the project and then choose Project  Show All Files。 You’ll find the AssemblyInfo。vb  

file under the My Project node in the Solution Explorer。 Following is the plete implementation  

for Implementations2。dll。 



Imports System 

Imports System。Reflection 

Imports System。Runtime。InteropServices 



 ' General Information about an assembly is controlled through the following  

 ' set of attributes。 Change these attribute values to modify the information 

 ' associated with an assembly。 


…………………………………………………………Page 354……………………………………………………………

332       CH AP T E R   1 2   ■    L E A R N I N G   A B OU T   A PP L I CA TI O N   CO N F I G U R AT IO N   AN D   D Y N A M I C  L O AD I N G 



          ' Review the values of the assembly attributes 



            

            

            

            

            

            



           



          'The following GUID is for the ID of the typelib if this project is exposed to  

            



          ' Version information for an assembly consists of the following four values: 

          ' 

          '      Major Version 

          '      Minor Version  

          '      Build Number 

          '      Revision 

          ' 

          ' You can specify all the values or you can default the Build and Revision Numbers  

          ' by using the '*' as shown here: 

          '   



            

           



               Notice that all of the assembly descriptors are declared as  attributes。 The bolded  

          attributes reference the version of the assembly。 By adjusting these attributes; you can tweak  

          which assembly is loaded; as explained in more detail in the uping “Versioning Assemblies”  

          section。 

               To load a specific assembly; you need to create an assembly name; like this: 



          Dim assemblyName As AssemblyName = New AssemblyName(value) 

          Dim assembly As Assembly = Assembly。Load(assemblyName) 

          Dim obj As Object = assembly。CreateInstance(info。TypeName) 



               The variable value contains the precise  identifier of the assembly and is passed as a  

          constructor parameter to AssemblyName。 The resulting AssemblyName instance is passed to the  

          method Assembly。Load(); which loads the assembly。 The instantiation of the type follows the  

          same sequence as previously outlined。 

               Note that there is no indication of where the assembly is located。 The default locations that  

          are probed are the local working directory of the executing process and the GAC。  


…………………………………………………………Page 355……………………………………………………………

           CH AP T E R   1 2   ■    L E AR N IN G   AB O U T   AP P L I CAT I ON   CO N F IG U R AT IO N   A N D   D Y N A M IC   L O AD IN G 333 



■Note  For more details about assembly loading; see Pro VB 2008 and the  3。5 Platform; Third Edition  

by Andrew Troelsen (Apress; 2008)。 



Relocating a Strongly Named Assembly to the GAC 



Besides having the ability to tweak which assembly is loaded; another reason to use the precise  

assembly name is to have the ability to load an assembly from the GAC。 The GAC is a place where  

assemblies can be placed to have global shared access。 Think of the GAC as the WindowsSystem32  

directory of the  environment。 The precise location for the GAC is c:windowsassembly。 

      Even though the GAC is just another directory; you should not just delete and add assemblies  

there; as you would with any other directory。 To delete a file from the GAC; use the context

sensitive Uninstall menu item (in Windows Explorer right…click the assembly you want to  

uninstall and select Uninstall)。 

      To add an assembly to the GAC; use the utility gacutil; which is distributed with the   

SDK (not with Visual Basic Express)。 You can locate it at C:Program FilesMicrosoft SDKs 

Windowsv6。0Bin or similar。 Add this directory to your path so that you can run gacutil anywhere。 

      The following mand lines demonstrate how to add the Definitions and  

Implementations2 assemblies to the GAC (assuming the files implementations2。dll and  

definitions。dll reside in the current directory)。  



gacutil /I definit
返回目录 上一页 下一页 回到顶部 0 0
未阅读完?加入书签已便下次继续阅读!
温馨提示: 温看小说的同时发表评论,说出自己的看法和其它小伙伴们分享也不错哦!发表书评还可以获得积分和经验奖励,认真写原创书评 被采纳为精评可以获得大量金币、积分和经验奖励哦!