AssemblyName.FullName-Eigenschaft
Ruft den vollständigen Namen der Assembly ab, der auch als Anzeigename bezeichnet wird.
Namespace: System.Reflection
Assembly: mscorlib (in mscorlib.dll)
Syntax
'Declaration
Public ReadOnly Property FullName As String
'Usage
Dim instance As AssemblyName
Dim value As String
value = instance.FullName
public string FullName { get; }
public:
property String^ FullName {
String^ get ();
}
/** @property */
public String get_FullName ()
public function get FullName () : String
Eigenschaftenwert
Eine Zeichenfolge, die den vollständigen Namen der Assembly darstellt, der auch als Anzeigename bezeichnet wird.
Hinweise
Der Anzeigename besteht i. d. R. aus dem einfachen Namen, der Versionsnummer, der unterstützten Kultur und dem öffentlichen Schlüssel. Beispiel:
mylib, Version=1.2.1900.0, Culture=neutral, PublicKeyToken=a14f3033def15840
Es wird nicht empfohlen, zur Analyse von Anzeigenamen eigenen Code zu schreiben. Übergeben Sie stattdessen den Anzeigenamen an den AssemblyName-Konstruktor, der diesen analysiert und die entsprechenden Felder des neuen AssemblyName auffüllt.
Beispiel
Imports System
Imports Microsoft.VisualBasic
Imports System.Reflection
Imports System.Threading
Imports System.IO
Imports System.Globalization
Imports System.Reflection.Emit
Imports System.Configuration.Assemblies
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 'MakeAssembly
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 = [String].Concat("file:///", 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.Name = "MyAssembly"
myAssemblyName.Version = New Version("1.0.0.2001")
MakeAssembly(myAssemblyName, "MyAssembly.exe")
' Get all the assemblies currently loaded in the 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.Cr + "Displaying the full assembly name" + ControlChars.Cr)
Console.WriteLine(myAssembly.GetName().FullName)
End If
End Sub 'Main
End Class 'AssemblyName_CodeBase
using System;
using System.Reflection;
using System.Threading;
using System.IO;
using System.Globalization;
using System.Reflection.Emit;
using System.Configuration.Assemblies;
public class AssemblyName_CodeBase
{
public static void MakeAssembly(AssemblyName myAssemblyName, string fileName)
{
// Get the assembly builder from the application domain associated with the current thread.
AssemblyBuilder myAssemblyBuilder = Thread.GetDomain().DefineDynamicAssembly(myAssemblyName, AssemblyBuilderAccess.RunAndSave);
// Create a dynamic module in the assembly.
ModuleBuilder myModuleBuilder = myAssemblyBuilder.DefineDynamicModule("MyModule", fileName);
// Create a type in the module.
TypeBuilder myTypeBuilder = myModuleBuilder.DefineType("MyType");
// Create a method called 'Main'.
MethodBuilder myMethodBuilder = myTypeBuilder.DefineMethod("Main", MethodAttributes.Public | MethodAttributes.HideBySig |
MethodAttributes.Static, typeof(void), null);
// Get the Intermediate Language generator for the method.
ILGenerator myILGenerator = 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);
}
public static void Main()
{
// Create a dynamic assembly with name 'MyAssembly' and build version '1.0.0.2001'.
AssemblyName myAssemblyName = new AssemblyName();
// Set the codebase to the physical directory were the assembly resides.
myAssemblyName.CodeBase = String.Concat("file:///", 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.Name = "MyAssembly";
myAssemblyName.Version = new Version("1.0.0.2001");
MakeAssembly(myAssemblyName, "MyAssembly.exe");
// Get all the assemblies currently loaded in the application domain.
Assembly[] myAssemblies = Thread.GetDomain().GetAssemblies();
// Get the dynamic assembly named 'MyAssembly'.
Assembly myAssembly = null;
for(int i = 0; i < myAssemblies.Length; i++)
{
if(String.Compare(myAssemblies[i].GetName().Name, "MyAssembly") == 0)
myAssembly = myAssemblies[i];
}
// Display the full assembly information to the console.
if(myAssembly != null)
{
Console.WriteLine("\nDisplaying the full assembly name\n");
Console.WriteLine(myAssembly.GetName().FullName);
}
}
}
using namespace System;
using namespace System::Reflection;
using namespace System::Threading;
using namespace System::IO;
using namespace System::Globalization;
using namespace System::Reflection::Emit;
using namespace System::Configuration::Assemblies;
static void MakeAssembly( AssemblyName^ myAssemblyName, String^ fileName )
{
// Get the assembly builder from the application domain associated with the current thread.
AssemblyBuilder^ myAssemblyBuilder = Thread::GetDomain()->DefineDynamicAssembly( myAssemblyName, AssemblyBuilderAccess::RunAndSave );
// Create a dynamic module in the assembly.
ModuleBuilder^ myModuleBuilder = myAssemblyBuilder->DefineDynamicModule( "MyModule", fileName );
// Create a type in the module.
TypeBuilder^ myTypeBuilder = myModuleBuilder->DefineType( "MyType" );
// Create a method called 'Main'.
MethodBuilder^ myMethodBuilder = myTypeBuilder->DefineMethod( "Main", static_cast<MethodAttributes>(MethodAttributes::Public | MethodAttributes::HideBySig | MethodAttributes::Static), void::typeid, nullptr );
// Get the Intermediate Language generator for the method.
ILGenerator^ myILGenerator = 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 );
}
int main()
{
// Create a dynamic assembly with name 'MyAssembly' and build version '1.0.0.2001'.
AssemblyName^ myAssemblyName = gcnew AssemblyName;
// Set the codebase to the physical directory were the assembly resides.
myAssemblyName->CodeBase = String::Concat( "file:///", Directory::GetCurrentDirectory() );
// Set the culture information of the assembly to 'English-American'.
myAssemblyName->CultureInfo = gcnew CultureInfo( "en-US" );
// Set the hash algoritm to 'SHA1'.
myAssemblyName->HashAlgorithm = AssemblyHashAlgorithm::SHA1;
myAssemblyName->Name = "MyAssembly";
myAssemblyName->Version = gcnew Version( "1.0.0.2001" );
MakeAssembly( myAssemblyName, "MyAssembly.exe" );
// Get all the assemblies currently loaded in the application domain.
array<Assembly^>^myAssemblies = Thread::GetDomain()->GetAssemblies();
// Get the dynamic assembly named 'MyAssembly'.
Assembly^ myAssembly = nullptr;
for ( int i = 0; i < myAssemblies->Length; i++ )
{
if ( String::Compare( myAssemblies[ i ]->GetName()->Name, "MyAssembly" ) == 0 )
myAssembly = myAssemblies[ i ];
}
if ( myAssembly != nullptr )
{
Console::WriteLine( "\nDisplaying the full assembly name\n" );
Console::WriteLine( myAssembly->GetName()->FullName );
}
}
import System.*;
import System.Reflection.*;
import System.Threading.*;
import System.IO.*;
import System.Globalization.*;
import System.Reflection.Emit.*;
import System.Configuration.Assemblies.*;
public class AssemblyNameCodeBase
{
public static void MakeAssembly(AssemblyName myAssemblyName,
String fileName)
{
// Get the assembly builder from the application domain associated
// with the current thread.
AssemblyBuilder myAssemblyBuilder = System.Threading.Thread.GetDomain().
DefineDynamicAssembly(myAssemblyName,
AssemblyBuilderAccess.RunAndSave);
// Create a dynamic module in the assembly.
ModuleBuilder myModuleBuilder = myAssemblyBuilder.
DefineDynamicModule("MyModule", fileName);
// Create a type in the module.
TypeBuilder myTypeBuilder = myModuleBuilder.DefineType("MyType");
// Create a method called 'main'.
MethodBuilder myMethodBuilder = myTypeBuilder.DefineMethod("main",
MethodAttributes.Public | MethodAttributes.HideBySig |
MethodAttributes.Static, void.class.ToType(), null);
// Get the Intermediate Language generator for the method.
ILGenerator myILGenerator = 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);
} //MakeAssembly
public static void main(String[] args)
{
// Create a dynamic assembly with name 'MyAssembly' and
// build version '1.0.0.2001'.
AssemblyName myAssemblyName = new AssemblyName();
// Set the codebase to the physical directory were the assembly resides.
myAssemblyName.set_CodeBase(String.Concat("file:///",
Directory.GetCurrentDirectory()));
// Set the culture information of the assembly to 'English-American'.
myAssemblyName.set_CultureInfo(new CultureInfo("en-US"));
// Set the hash algoritm to 'SHA1'.
myAssemblyName.set_HashAlgorithm(AssemblyHashAlgorithm.SHA1);
myAssemblyName.set_Name("MyAssembly");
myAssemblyName.set_Version(new Version("1.0.0.2001"));
MakeAssembly(myAssemblyName, "MyAssembly.exe");
// Get all the assemblies currently loaded in the application domain.
Assembly myAssemblies[] = System.Threading.Thread.GetDomain().
GetAssemblies();
// Get the dynamic assembly named 'MyAssembly'.
Assembly myAssembly = null;
for (int i = 0; i < myAssemblies.length; i++) {
if (String.Compare(((Assembly)myAssemblies.get_Item(i)).GetName()
.get_Name(), "MyAssembly") == 0) {
myAssembly = (Assembly)myAssemblies.get_Item(i);
}
}
// Display the full assembly information to the console.
if (myAssembly != null) {
Console.WriteLine("\nDisplaying the full assembly name\n");
Console.WriteLine(myAssembly.GetName().get_FullName());
}
} //main
} //AssemblyNameCodeBase
Plattformen
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.
Versionsinformationen
.NET Framework
Unterstützt in: 2.0, 1.1, 1.0
.NET Compact Framework
Unterstützt in: 2.0, 1.0
Siehe auch
Referenz
AssemblyName-Klasse
AssemblyName-Member
System.Reflection-Namespace