AppDomain.SetShadowCopyPath(String) Yöntem

Tanım

Dikkat

AppDomain.SetShadowCopyPath has been deprecated. Please investigate the use of AppDomainSetup.ShadowCopyDirectories instead. https://go.microsoft.com/fwlink/?linkid=14202

Dikkat

AppDomain.SetShadowCopyPath has been deprecated and is not supported.

Dikkat

AppDomain.SetShadowCopyPath has been deprecated. Please investigate the use of AppDomainSetup.ShadowCopyDirectories instead. http://go.microsoft.com/fwlink/?linkid=14202

Dikkat

Use AppDomainSetup.ShadowCopyDirectories

Gölge kopyalanacak derlemelerin konumu olarak belirtilen dizin yolunu oluşturur.

public:
 void SetShadowCopyPath(System::String ^ path);
public:
 virtual void SetShadowCopyPath(System::String ^ path);
[System.Obsolete("AppDomain.SetShadowCopyPath has been deprecated. Please investigate the use of AppDomainSetup.ShadowCopyDirectories instead. https://go.microsoft.com/fwlink/?linkid=14202")]
public void SetShadowCopyPath (string? path);
[System.Obsolete("AppDomain.SetShadowCopyPath has been deprecated and is not supported.")]
public void SetShadowCopyPath (string? path);
[System.Obsolete("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);
public void SetShadowCopyPath (string path);
[System.Obsolete("AppDomain.SetShadowCopyPath has been deprecated. Please investigate the use of AppDomainSetup.ShadowCopyDirectories instead. http://go.microsoft.com/fwlink/?linkid=14202")]
[System.Security.SecurityCritical]
public void SetShadowCopyPath (string path);
[System.Obsolete("AppDomain.SetShadowCopyPath has been deprecated. Please investigate the use of AppDomainSetup.ShadowCopyDirectories instead. https://go.microsoft.com/fwlink/?linkid=14202")]
public void SetShadowCopyPath (string path);
[System.Obsolete("Use AppDomainSetup.ShadowCopyDirectories")]
public void SetShadowCopyPath (string path);
[<System.Obsolete("AppDomain.SetShadowCopyPath has been deprecated. Please investigate the use of AppDomainSetup.ShadowCopyDirectories instead. https://go.microsoft.com/fwlink/?linkid=14202")>]
member this.SetShadowCopyPath : string -> unit
[<System.Obsolete("AppDomain.SetShadowCopyPath has been deprecated and is not supported.")>]
member this.SetShadowCopyPath : string -> unit
[<System.Obsolete("AppDomain.SetShadowCopyPath has been deprecated. Please investigate the use of AppDomainSetup.ShadowCopyDirectories instead. http://go.microsoft.com/fwlink/?linkid=14202")>]
member this.SetShadowCopyPath : string -> unit
abstract member SetShadowCopyPath : string -> unit
override this.SetShadowCopyPath : string -> unit
[<System.Obsolete("AppDomain.SetShadowCopyPath has been deprecated. Please investigate the use of AppDomainSetup.ShadowCopyDirectories instead. http://go.microsoft.com/fwlink/?linkid=14202")>]
abstract member SetShadowCopyPath : string -> unit
override this.SetShadowCopyPath : string -> unit
[<System.Obsolete("AppDomain.SetShadowCopyPath has been deprecated. Please investigate the use of AppDomainSetup.ShadowCopyDirectories instead. http://go.microsoft.com/fwlink/?linkid=14202")>]
[<System.Security.SecurityCritical>]
abstract member SetShadowCopyPath : string -> unit
override this.SetShadowCopyPath : string -> unit
[<System.Obsolete("Use AppDomainSetup.ShadowCopyDirectories")>]
member this.SetShadowCopyPath : string -> unit
[<System.Obsolete("Use AppDomainSetup.ShadowCopyDirectories")>]
abstract member SetShadowCopyPath : string -> unit
override this.SetShadowCopyPath : string -> unit
Public Sub SetShadowCopyPath (path As String)

Parametreler

path
String

Her adın noktalı virgülle ayrıldığı dizin adlarının listesi.

Uygulamalar

Öznitelikler

Özel durumlar

İşlem, yüklenmemiş bir uygulama etki alanında deneniyor.

Örnekler

Bu yöntem artık kullanımdan kalkmıştır ve yeni dağıtım işlemleri için kullanılmamalıdır.

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 );
}
using System;
using System.Security.Policy;
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);
        }
    }
}
open System

let setup = 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.
let adevidence = AppDomain.CurrentDomain.Evidence

// Create a new application domain.
let 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.
printfn $"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" |> ignore
// This will not be copied.
// You must supply a valid fully qualified assembly name here.
domain.Load "Assembly2 text name, Version, Culture, PublicKeyToken" |> ignore

// 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" |> ignore

// Unload the domain.
AppDomain.Unload domain
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
End Class

Açıklamalar

Varsayılan olarak, bir gölge kopya yoklama aracılığıyla bulunan tüm derlemeleri içerir. yöntemi gölge SetShadowCopyPath kopyayı tarafından pathbelirtilen dizinlerdeki derlemelerle kısıtlar.

SetShadowCopyPath yöntemi, derlemeler için aranacak ek dizinleri belirtmez. Gölge kopyalanacak derlemeler arama yolunda, örneğin altında BaseDirectoryyer almalıdır. yöntemi, SetShadowCopyPath hangi arama yollarının gölge kopyalanabilir olduğunu belirtir.

Bu yöntem, bu örnekle ilişkilendirilmiş iç AppDomainSetup öğesinin özelliğini ayarlarShadowCopyDirectories.

Gölge kopyalama hakkında daha fazla bilgi için bkz. Gölge Kopyalama Bütünleştirilmiş Kodları.

Şunlara uygulanır

Ayrıca bkz.