AppDomain.SetShadowCopyPath メソッド
アセンブリ: mscorlib (mscorlib.dll 内)

<ObsoleteAttribute("AppDomain.SetShadowCopyPath has been deprecated. Please investigate the use of AppDomainSetup.ShadowCopyDirectories instead. http://go.microsoft.com/fwlink/?linkid=14202")> _ Public Sub SetShadowCopyPath ( _ path As String _ )
[ObsoleteAttribute("AppDomain.SetShadowCopyPath has been deprecated. Please investigate the use of AppDomainSetup.ShadowCopyDirectories instead. http://go.microsoft.com/fwlink/?linkid=14202")] public void SetShadowCopyPath ( string path )
[ObsoleteAttribute(L"AppDomain.SetShadowCopyPath has been deprecated. Please investigate the use of AppDomainSetup.ShadowCopyDirectories instead. http://go.microsoft.com/fwlink/?linkid=14202")] public: virtual void SetShadowCopyPath ( String^ path ) sealed
/** @attribute ObsoleteAttribute("AppDomain.SetShadowCopyPath has been deprecated. Please investigate the use of AppDomainSetup.ShadowCopyDirectories instead. http://go.microsoft.com/fwlink/?linkid=14202") */ public final void SetShadowCopyPath ( String path )
ObsoleteAttribute("AppDomain.SetShadowCopyPath has been deprecated. Please investigate the use of AppDomainSetup.ShadowCopyDirectories instead. http://go.microsoft.com/fwlink/?linkid=14202") public final function SetShadowCopyPath ( path : String )


既定では、検索で見つかったすべてのアセンブリがシャドウ コピーの対象となります。SetShadowCopyPath メソッドを使用すると、シャドウ コピーの対象を、path で指定したディレクトリ内のアセンブリに限定できます。
SetShadowCopyPath メソッドに対し、アセンブリの検索対象ディレクトリを追加で指定することはできません。シャドウ コピーの対象アセンブリは、特定の検索パス (BaseDirectory 下など) に既に格納されている必要があります。SetShadowCopyPath メソッドは、シャドウ コピーの対象となる検索パスを指定します。
このメソッドは、現在のインスタンスに関連付けられている内部 AppDomainSetup の ShadowCopyDirectories プロパティを設定します。

Imports System Imports System.Security.Policy 'for evidence object Class ADShadowCopy 'Entry point which delegates to C-style main Private Function ' Public Overloads Shared Sub Main() ' Main(System.Environment.GetCommandLineArgs()) ' End Sub Public Overloads Shared Sub Main(args() As String) Dim setup As New AppDomainSetup() ' Shadow copying will not work unless the application has a name. setup.ApplicationName = "MyApplication" 'Create evidence for the new application domain from evidence of ' current application domain. Dim adevidence As Evidence = AppDomain.CurrentDomain.Evidence ' Create a new application domain. Dim domain As AppDomain = AppDomain.CreateDomain("MyDomain", adevidence, setup) ' MyAssembly.dll is located in the Assemblies subdirectory. domain.AppendPrivatePath("Assemblies") ' MyOtherAssembly.dll and MyThirdAssembly.dll are located in the ' MoreAssemblies subdirectory. domain.AppendPrivatePath("MoreAssemblies") ' Display the relative search path. Console.WriteLine(("RelativeSearchPath: " + domain.RelativeSearchPath)) ' Because Load returns an Assembly object, the assemblies must be ' loaded into the current domain as well. This will fail unless the ' current domain also has these directories in its search path. AppDomain.CurrentDomain.AppendPrivatePath("Assemblies") AppDomain.CurrentDomain.AppendPrivatePath("MoreAssemblies") ' Save shadow copies to C:\Cache domain.SetCachePath("C:\Cache") ' Shadow copy only the assemblies in the Assemblies directory. domain.SetShadowCopyPath((domain.BaseDirectory + "Assemblies")) ' Turn shadow copying on. domain.SetShadowCopyFiles() ' This will be copied. ' You must supply a valid fully qualified assembly name here. domain.Load("Assembly1 text name, Version, Culture, PublicKeyToken") ' This will not be copied. ' You must supply a valid fully qualified assembly name here. domain.Load("Assembly2 text name, Version, Culture, PublicKeyToken") ' When the shadow copy path is cleared, the CLR will make shadow copies ' of all private assemblies. domain.ClearShadowCopyPath() ' MoreAssemblies\MyThirdAssembly.dll should be shadow copied this time. ' You must supply a valid fully qualified assembly name here. domain.Load("Assembly3 text name, Version, Culture, PublicKeyToken") ' Unload the domain. AppDomain.Unload(domain) End Sub 'Main End Class 'ADShadowCopy
using System; using System.Security.Policy; //for evidence object namespace AppDomainSnippets { class ADShadowCopy { static void Main(string[] args) { AppDomainSetup setup = new AppDomainSetup(); // Shadow copying will not work unless the application has a name. setup.ApplicationName = "MyApplication"; //Create evidence for the new application domain from evidence of // current application domain. Evidence adevidence = AppDomain.CurrentDomain.Evidence; // Create a new application domain. AppDomain domain = AppDomain.CreateDomain("MyDomain", adevidence, setup); // MyAssembly.dll is located in the Assemblies subdirectory. domain.AppendPrivatePath("Assemblies"); // MyOtherAssembly.dll and MyThirdAssembly.dll are located in the // MoreAssemblies subdirectory. domain.AppendPrivatePath("MoreAssemblies"); // Display the relative search path. Console.WriteLine("RelativeSearchPath: " + domain.RelativeSearchPath); // Because Load returns an Assembly object, the assemblies must be // loaded into the current domain as well. This will fail unless the // current domain also has these directories in its search path. AppDomain.CurrentDomain.AppendPrivatePath("Assemblies"); AppDomain.CurrentDomain.AppendPrivatePath("MoreAssemblies"); // Save shadow copies to C:\Cache domain.SetCachePath("C:\\Cache"); // Shadow copy only the assemblies in the Assemblies directory. domain.SetShadowCopyPath(domain.BaseDirectory + "Assemblies"); // Turn shadow copying on. domain.SetShadowCopyFiles(); // This will be copied. // You must supply a valid fully qualified assembly name here. domain.Load("Assembly1 text name, Version, Culture, PublicKeyToken"); // This will not be copied. // You must supply a valid fully qualified assembly name here. domain.Load("Assembly2 text name, Version, Culture, PublicKeyToken"); // When the shadow copy path is cleared, the CLR will make shadow copies // of all private assemblies. domain.ClearShadowCopyPath(); // MoreAssemblies\MyThirdAssembly.dll should be shadow copied this time. // You must supply a valid fully qualified assembly name here. domain.Load("Assembly3 text name, Version, Culture, PublicKeyToken"); // Unload the domain. AppDomain.Unload(domain); } } }
using namespace System; using namespace System::Security::Policy; //for evidence Object* int main() { AppDomainSetup^ setup = gcnew AppDomainSetup; // Shadow copying will not work unless the application has a name. setup->ApplicationName = "MyApplication"; //Create evidence for the new application domain from evidence of // current application domain. Evidence^ adevidence = AppDomain::CurrentDomain->Evidence; // Create a new application domain. AppDomain^ domain = AppDomain::CreateDomain( "MyDomain", adevidence, setup ); // MyAssembly.dll is located in the Assemblies subdirectory. domain->AppendPrivatePath( "Assemblies" ); // MyOtherAssembly.dll and MyThirdAssembly.dll are located in the // MoreAssemblies subdirectory. domain->AppendPrivatePath( "MoreAssemblies" ); // Display the relative search path. Console::WriteLine( "RelativeSearchPath: {0}", domain->RelativeSearchPath ); // Because Load returns an Assembly Object*, the assemblies must be // loaded into the current domain as well. This will fail unless the // current domain also has these directories in its search path. AppDomain::CurrentDomain->AppendPrivatePath( "Assemblies" ); AppDomain::CurrentDomain->AppendPrivatePath( "MoreAssemblies" ); // Save shadow copies to C:\Cache domain->SetCachePath( "C:\\Cache" ); // Shadow copy only the assemblies in the Assemblies directory. domain->SetShadowCopyPath( String::Concat( domain->BaseDirectory, "Assemblies" ) ); // Turn shadow copying on. domain->SetShadowCopyFiles(); // This will be copied. // You must supply a valid fully qualified assembly name here. domain->Load( "Assembly1 text name, Version, Culture, PublicKeyToken" ); // This will not be copied. // You must supply a valid fully qualified assembly name here. domain->Load( "Assembly2 text name, Version, Culture, PublicKeyToken" ); // When the shadow copy path is cleared, the CLR will make shadow copies // of all private assemblies. domain->ClearShadowCopyPath(); // MoreAssemblies\MyThirdAssembly.dll should be shadow copied this time. // You must supply a valid fully qualified assembly name here. domain->Load( "Assembly3 text name, Version, Culture, PublicKeyToken" ); // Unload the domain. AppDomain::Unload( domain ); }


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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


_AppDomain.SetShadowCopyPath メソッド
アセンブリ: mscorlib (mscorlib.dll 内)

Dim instance As _AppDomain Dim s As String instance.SetShadowCopyPath(s)
- s


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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


- AppDomain.SetShadowCopyPathのページへのリンク