Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Método AppDomain.SetShadowCopyFiles ()

 

Publicado: octubre de 2016

obsoleteCodeEntityP:System.AppDomainSetup.ShadowCopyFiles Nota: Esta API ahora está obsoleta.

Activa la creación de instantáneas.

Espacio de nombres:   System
Ensamblado:  mscorlib (en mscorlib.dll)

[SecurityCriticalAttribute]
[ObsoleteAttribute("AppDomain.SetShadowCopyFiles has been deprecated. Please investigate the use of AppDomainSetup.ShadowCopyFiles instead. http://go.microsoft.com/fwlink/?linkid=14202")]
public void SetShadowCopyFiles()

Exception Condition
AppDomainUnloadedException

La operación se intenta en un dominio de aplicación descargado.

Para obtener más información acerca de cómo copiar instantáneas, vea Copias sombra de ensamblados.

Este método ahora está obsoleta y no debe usarse para el nuevo desarrollo.

using System;
using System.Security.Policy;  //for evidence object
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);
		}
	}
}

SecurityCriticalAttribute

requires full trust for the immediate caller. This member cannot be used by partially trusted or transparent code.

.NET Framework
Disponible desde 1.1
Volver al principio
Mostrar: