AppDomain.SetShadowCopyFiles Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Attention
AppDomain.SetShadowCopyFiles has been deprecated. Please investigate the use of AppDomainSetup.ShadowCopyFiles instead. https://go.microsoft.com/fwlink/?linkid=14202
Attention
AppDomain.SetShadowCopyFiles has been deprecated and is not supported.
Attention
AppDomain.SetShadowCopyFiles has been deprecated. Please investigate the use of AppDomainSetup.ShadowCopyFiles instead. http://go.microsoft.com/fwlink/?linkid=14202
Attention
Use AppDomainSetup.ShadowCopyFiles
Active les clichés instantanés.
public:
void SetShadowCopyFiles();
[System.Obsolete("AppDomain.SetShadowCopyFiles has been deprecated. Please investigate the use of AppDomainSetup.ShadowCopyFiles instead. https://go.microsoft.com/fwlink/?linkid=14202")]
public void SetShadowCopyFiles ();
[System.Obsolete("AppDomain.SetShadowCopyFiles has been deprecated and is not supported.")]
public void SetShadowCopyFiles ();
[System.Obsolete("AppDomain.SetShadowCopyFiles has been deprecated. Please investigate the use of AppDomainSetup.ShadowCopyFiles instead. http://go.microsoft.com/fwlink/?linkid=14202")]
public void SetShadowCopyFiles ();
public void SetShadowCopyFiles ();
[System.Obsolete("AppDomain.SetShadowCopyFiles has been deprecated. Please investigate the use of AppDomainSetup.ShadowCopyFiles instead. http://go.microsoft.com/fwlink/?linkid=14202")]
[System.Security.SecurityCritical]
public void SetShadowCopyFiles ();
[System.Obsolete("Use AppDomainSetup.ShadowCopyFiles")]
public void SetShadowCopyFiles ();
[<System.Obsolete("AppDomain.SetShadowCopyFiles has been deprecated. Please investigate the use of AppDomainSetup.ShadowCopyFiles instead. https://go.microsoft.com/fwlink/?linkid=14202")>]
member this.SetShadowCopyFiles : unit -> unit
[<System.Obsolete("AppDomain.SetShadowCopyFiles has been deprecated and is not supported.")>]
member this.SetShadowCopyFiles : unit -> unit
[<System.Obsolete("AppDomain.SetShadowCopyFiles has been deprecated. Please investigate the use of AppDomainSetup.ShadowCopyFiles instead. http://go.microsoft.com/fwlink/?linkid=14202")>]
member this.SetShadowCopyFiles : unit -> unit
member this.SetShadowCopyFiles : unit -> unit
[<System.Obsolete("AppDomain.SetShadowCopyFiles has been deprecated. Please investigate the use of AppDomainSetup.ShadowCopyFiles instead. http://go.microsoft.com/fwlink/?linkid=14202")>]
[<System.Security.SecurityCritical>]
member this.SetShadowCopyFiles : unit -> unit
[<System.Obsolete("Use AppDomainSetup.ShadowCopyFiles")>]
member this.SetShadowCopyFiles : unit -> unit
Public Sub SetShadowCopyFiles ()
- Attributs
Exceptions
L’opération est tentée sur un domaine d’application non chargé.
Exemples
Cette méthode est désormais obsolète et ne doit pas être utilisée pour le nouveau développement.
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();
Console::WriteLine( "ShadowCopyFiles turned on: {0}", domain->ShadowCopyFiles );
// 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 ADProperties
{
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();
Console.WriteLine("ShadowCopyFiles turned on: " + domain.ShadowCopyFiles);
// 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()
printfn $"ShadowCopyFiles turned on: {domain.ShadowCopyFiles}"
// 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 ADProperties
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()
Console.WriteLine("ShadowCopyFiles turned on: " & domain.ShadowCopyFiles)
' 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
Remarques
Pour plus d’informations sur le cliché instantané, consultez Assemblys de cliché instantané.