This documentation is archived and is not being maintained.
AppDomain::SetShadowCopyFiles Method
Visual Studio 2010
Note: This API is now obsolete. The non-obsolete alternative is ShadowCopyFiles.
Turns on shadow copying.
Assembly: mscorlib (in mscorlib.dll)
| Exception | Condition |
|---|---|
| AppDomainUnloadedException | The operation is attempted on an unloaded application domain. |
For more information on shadow copying, see Shadow Copying Assemblies.
This method is now obsolete, and should not be used for new development.
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 ); }
.NET Framework
Supported in: 1.1, 1.0Obsolete (compiler warning) in 4
Obsolete (compiler warning) in 3.5
Obsolete (compiler warning) in 3.5 SP1
Obsolete (compiler warning) in 3.0
Obsolete (compiler warning) in 3.0 SP1
Obsolete (compiler warning) in 3.0 SP2
Obsolete (compiler warning) in 2.0
Obsolete (compiler warning) in 2.0 SP1
Obsolete (compiler warning) in 2.0 SP2
.NET Framework Client Profile
Obsolete (compiler warning) in 4Obsolete (compiler warning) in 3.5 SP1
- SecurityCriticalAttribute
requires full trust for the immediate caller. This member cannot be used by partially trusted or transparent code.
Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Show: