AppDomainSetup.DynamicBase プロパティ
アセンブリ: mscorlib (mscorlib.dll 内)
構文Dim instance As AppDomainSetup Dim value As String value = instance.DynamicBase instance.DynamicBase = value
public: virtual property String^ DynamicBase { String^ get () sealed; void set (String^ value) sealed; }
/** @property */ public final String get_DynamicBase () /** @property */ public final void set_DynamicBase (String value)
public final function get DynamicBase () : String public final function set DynamicBase (value : String)
AppDomain.DynamicDirectory の格納ディレクトリを指定する String。
解説AppDomain を作成すると、Dynamic Directory というディレクトリを動的アセンブリの格納用として指定できます。このディレクトリの論理的な位置は ApplicationBase ですが、同ディレクトリの別の部分にも配置できます。
使用例Imports System Imports System.Reflection Imports System.Reflection.Emit Class ADDynamicBase ' SetDynamicBase.exe Overloads Shared Sub Main(args() As String) ' Create a new AppDomain. Dim setup As New AppDomainSetup() ' Need to set the application name before setting the dynamic base. setup.ApplicationName = "MyApplication" Dim domain As AppDomain = AppDomain.CreateDomain("MyDomain", Nothing, setup) ' Tell the domain to search for assemblies in DynamicAssemblyDir. domain.SetDynamicBase("C:\DynamicAssemblyDir") ' Note that the actual dynamic directory has the form ' <DynamicBase>\<number>\<ApplicationName>, rather than ' simply <DynamicBase>. Dim dynamicDir As [String] = domain.DynamicDirectory ' The AssemblyBuilder won't create this directory automatically. If Not System.IO.Directory.Exists(dynamicDir) Then System.IO.Directory.CreateDirectory(dynamicDir) End If ' Define the dynamic assembly. Dim asmName As New AssemblyName() asmName.Name = "DynamicHelloWorld" Dim asm As AssemblyBuilder = AppDomain.CurrentDomain.DefineDynamicAssembly(asmName, AssemblyBuilderAccess.Save, dynamicDir) ' Define a dynamic module in the assembly. Dim [mod] As ModuleBuilder [mod] = asm.DefineDynamicModule("DynamicHelloWorld", "DynamicHelloWorld.dll") ' Define the "HelloWorld" type in the module. Dim typ As TypeBuilder = [mod].DefineType("HelloWorld", TypeAttributes.Public) ' Define the "SayHello" method. Dim meth As MethodBuilder = typ.DefineMethod("SayHello", MethodAttributes.Public, Nothing, Nothing) Dim il As ILGenerator = meth.GetILGenerator() il.EmitWriteLine("Hello World!") il.Emit(OpCodes.Ret) ' Complete the HelloWorld type. typ.CreateType() ' Save the assembly to the dynamic assembly directory. asm.Save("DynamicHelloWorld.dll") ' Launch MyExecutable.exe, which will load DynamicHelloWorld.dll. domain.ExecuteAssembly("MyExecutable.exe") End Sub 'Main End Class 'ADDynamicBase
using System; using System.Reflection; using System.Reflection.Emit; namespace AppDomainSnippets { class ADDynamicBase { // SetDynamicBase.exe static void Main(string[] args) { // Create a new AppDomain. AppDomainSetup setup = new AppDomainSetup(); // Need to set the application name before setting the dynamic base. setup.ApplicationName = "MyApplication"; AppDomain domain = AppDomain.CreateDomain("MyDomain", null, setup); // Tell the domain to search for assemblies in DynamicAssemblyDir. domain.SetDynamicBase("C:\\DynamicAssemblyDir"); // Note that the actual dynamic directory has the form // <DynamicBase>\<number>\<ApplicationName>, rather than // simply <DynamicBase>. String dynamicDir = domain.DynamicDirectory; // The AssemblyBuilder won't create this directory automatically. if(!System.IO.Directory.Exists(dynamicDir)) { System.IO.Directory.CreateDirectory(dynamicDir); } // Define the dynamic assembly. AssemblyName asmName = new AssemblyName(); asmName.Name = "DynamicHelloWorld"; AssemblyBuilder asm = AppDomain.CurrentDomain.DefineDynamicAssembly (asmName, AssemblyBuilderAccess.Save, dynamicDir); // Define a dynamic module in the assembly. ModuleBuilder mod; mod = asm.DefineDynamicModule ("DynamicHelloWorld", "DynamicHelloWorld.dll"); // Define the "HelloWorld" type in the module. TypeBuilder typ = mod.DefineType ("HelloWorld", TypeAttributes.Public); // Define the "SayHello" method. MethodBuilder meth = typ.DefineMethod ("SayHello", MethodAttributes.Public, null, null); ILGenerator il = meth.GetILGenerator(); il.EmitWriteLine("Hello World!"); il.Emit(OpCodes.Ret); // Complete the HelloWorld type. typ.CreateType(); // Save the assembly to the dynamic assembly directory. asm.Save("DynamicHelloWorld.dll"); // Launch MyExecutable.exe, which will load DynamicHelloWorld.dll. domain.ExecuteAssembly("MyExecutable.exe"); } } }
using namespace System; using namespace System::Reflection; using namespace System::Reflection::Emit; // SetDynamicBase.exe int main() { array<String^>^args = Environment::GetCommandLineArgs(); // Create a new AppDomain. AppDomainSetup^ setup = gcnew AppDomainSetup; // Need to set the application name before setting the dynamic base. setup->ApplicationName = "MyApplication"; AppDomain^ domain = AppDomain::CreateDomain( "MyDomain", nullptr, setup ); // Tell the domain to search for assemblies in DynamicAssemblyDir. domain->SetDynamicBase( "C:\\DynamicAssemblyDir" ); // Note that the actual dynamic directory has the form // <DynamicBase>\<number>\<ApplicationName>, rather than // simply <DynamicBase>. String^ dynamicDir = domain->DynamicDirectory; // The AssemblyBuilder won't create this directory automatically. if ( !System::IO::Directory::Exists( dynamicDir ) ) { System::IO::Directory::CreateDirectory( dynamicDir ); } // Define the dynamic assembly. AssemblyName^ asmName = gcnew AssemblyName; asmName->Name = "DynamicHelloWorld"; AssemblyBuilder^ asmb = AppDomain::CurrentDomain->DefineDynamicAssembly( asmName, AssemblyBuilderAccess::Save, dynamicDir ); // Define a dynamic module in the assembly. ModuleBuilder^ mod; mod = asmb->DefineDynamicModule( "DynamicHelloWorld", "DynamicHelloWorld.dll" ); // Define the S"HelloWorld" type in the module. TypeBuilder^ typ = mod->DefineType( "HelloWorld", TypeAttributes::Public ); // Define the S"SayHello" method. MethodBuilder^ meth = typ->DefineMethod( "SayHello", MethodAttributes::Public, nullptr, nullptr ); ILGenerator^ il = meth->GetILGenerator(); il->EmitWriteLine( "Hello World!" ); il->Emit( OpCodes::Ret ); // Complete the HelloWorld type. typ->CreateType(); // Save the assembly to the dynamic assembly directory. asmb->Save( "DynamicHelloWorld.dll" ); // Launch MyExecutable.exe, which will load DynamicHelloWorld.dll. domain->ExecuteAssembly( "MyExecutable.exe" ); }
.NET Framework のセキュリティ
プラットフォームWindows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
バージョン情報
参照Weblioに収録されているすべての辞書からAppDomainSetup.DynamicBase プロパティを検索する場合は、下記のリンクをクリックしてください。
全ての辞書からAppDomainSetup.DynamicBase プロパティ
を検索
- AppDomainSetup.DynamicBase プロパティのページへのリンク