当前位置: 首页>>代码示例>>VB.NET>>正文


VB.NET AssemblyName.KeyPair属性代码示例

本文整理汇总了VB.NET中System.Reflection.AssemblyName.KeyPair属性的典型用法代码示例。如果您正苦于以下问题:VB.NET AssemblyName.KeyPair属性的具体用法?VB.NET AssemblyName.KeyPair怎么用?VB.NET AssemblyName.KeyPair使用的例子?那么恭喜您, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在System.Reflection.AssemblyName的用法示例。


在下文中一共展示了AssemblyName.KeyPair属性的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的VB.NET代码示例。

示例1: AssemblyName_CodeBase

' 导入命名空间
Imports System.Reflection
Imports System.Threading
Imports System.IO
Imports System.Globalization
Imports System.Reflection.Emit
Imports System.Configuration.Assemblies
Imports System.Text

Public Class AssemblyName_CodeBase
   
   Public Shared Sub MakeAssembly(myAssemblyName As AssemblyName, fileName As String)
      ' Get the assembly builder from the application domain associated with the current thread.
      Dim myAssemblyBuilder As AssemblyBuilder = Thread.GetDomain().DefineDynamicAssembly(myAssemblyName, AssemblyBuilderAccess.RunAndSave)
      ' Create a dynamic module in the assembly.
      Dim myModuleBuilder As ModuleBuilder = myAssemblyBuilder.DefineDynamicModule("MyModule", fileName)
      ' Create a type in the module.
      Dim myTypeBuilder As TypeBuilder = myModuleBuilder.DefineType("MyType")
      ' Create a method called 'Main'.
      Dim myMethodBuilder As MethodBuilder = myTypeBuilder.DefineMethod("Main", MethodAttributes.Public Or MethodAttributes.HideBySig Or MethodAttributes.Static, GetType(object), Nothing)
      ' Get the Intermediate Language generator for the method.
      Dim myILGenerator As ILGenerator = myMethodBuilder.GetILGenerator()
      ' Use the utility method to generate the IL instructions that print a string to the console.
      myILGenerator.EmitWriteLine("Hello World!")
      ' Generate the 'ret' IL instruction.
      myILGenerator.Emit(OpCodes.Ret)
      ' End the creation of the type.
      myTypeBuilder.CreateType()
      ' Set the method with name 'Main' as the entry point in the assembly.
      myAssemblyBuilder.SetEntryPoint(myMethodBuilder)
      myAssemblyBuilder.Save(fileName)
   End Sub
   
   
   Public Shared Sub Main()
      

      ' Create a dynamic assembly with name 'MyAssembly' and build version '1.0.0.2001'.
      Dim myAssemblyName As New AssemblyName()
      ' Set the codebase to the physical directory were the assembly resides.
      myAssemblyName.CodeBase = Directory.GetCurrentDirectory()
      ' Set the culture information of the assembly to 'English-American'.
      myAssemblyName.CultureInfo = New CultureInfo("en-US")
      ' Set the hash algoritm to 'SHA1'.
      myAssemblyName.HashAlgorithm = AssemblyHashAlgorithm.SHA1
      myAssemblyName.VersionCompatibility = AssemblyVersionCompatibility.SameProcess
      myAssemblyName.Flags = AssemblyNameFlags.PublicKey
      ' Provide this assembly with a strong name.
      myAssemblyName.KeyPair = New StrongNameKeyPair(File.Open("KeyPair.snk", FileMode.Open, FileAccess.Read))
      myAssemblyName.Name = "MyAssembly"
      myAssemblyName.Version = New Version("1.0.0.2001")
      MakeAssembly(myAssemblyName, "MyAssembly.exe")
      
      ' Get the assemblies loaded in the current application domain.
      Dim myAssemblies As [Assembly]() = Thread.GetDomain().GetAssemblies()
      
      ' Get the dynamic assembly named 'MyAssembly'. 
      Dim myAssembly As [Assembly] = Nothing
      Dim i As Integer
      For i = 0 To myAssemblies.Length - 1
         If [String].Compare(myAssemblies(i).GetName().Name, "MyAssembly") = 0 Then
            myAssembly = myAssemblies(i)
         End If 
      Next i ' Display the full assembly information to the console.
      If Not (myAssembly Is Nothing) Then
      Console.WriteLine(ControlChars.CrLf +"Displaying the full assembly name."+ ControlChars.CrLf)
      Console.WriteLine(myAssembly.GetName().FullName)
      Console.WriteLine(ControlChars.CrLf +"Displaying the public key." + ControlChars.CrLf)
      Dim pk() As Byte
      pk = myAssembly.GetName().GetPublicKey()
      For i = 0 To (pk.GetLength(0)) - 1
         Console.Write("{0:x2}", pk(i))
      Next i
      Console.WriteLine()
      Console.WriteLine(ControlChars.CrLf +"Displaying the public key token."+ ControlChars.CrLf)
      Dim pt() As Byte
      pt = myAssembly.GetName().GetPublicKeyToken()
      For i = 0 To (pt.GetLength(0)) - 1
         Console.Write("{0:x2}", pt(i))
      Next i
      End If
   End Sub
End Class
开发者ID:VB.NET开发者,项目名称:System.Reflection,代码行数:83,代码来源:AssemblyName.KeyPair


注:本文中的System.Reflection.AssemblyName.KeyPair属性示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。