Esecuzione di applicazioni Intranet in attendibilità totaleRunning Intranet Applications in Full Trust

A partire da .NET Framework versione 3.5 Service Pack 1 (SP1), le applicazioni e i relativi assembly di librerie possono essere eseguiti come assembly con attendibilità totale da una condivisione di rete.Starting with the .NET Framework version 3.5 Service Pack 1 (SP1), applications and their library assemblies can be run as full-trust assemblies from a network share. Agli assembly caricati da una condivisione nella rete Intranet viene automaticamente aggiunta l'evidenza della zona MyComputer.MyComputer zone evidence is automatically added to assemblies that are loaded from a share on the intranet. Questa evidenza concede agli assembly lo stesso set di autorizzazioni, in genere l'attendibilità totale, degli assembly che si trovano nel computer.This evidence gives those assemblies the same grant set (which is typically full trust) as the assemblies that reside on the computer. Questa funzionalità non è applicabile alle applicazioni ClickOnce o alle applicazioni progettate per l'esecuzione in un host.This functionality does not apply to ClickOnce applications or to applications that are designed to run on a host.

Regole per gli assembly di librerieRules for Library Assemblies

Le regole seguenti si applicano agli assembly caricati da un eseguibile su una condivisione di rete:The following rules apply to assemblies that are loaded by an executable on a network share:

  • Gli assembly di librerie devono trovarsi nella stessa cartella dell'assembly eseguibile.Library assemblies must reside in the same folder as the executable assembly. Agli assembly che si trovano in una sottocartella o a cui viene fatto riferimento in un percorso diverso non verrà concessa l'attendibilità totale.Assemblies that reside in a subfolder or are referenced on a different path are not given the full-trust grant set.

  • Se l'eseguibile esegue il caricamento ritardato di un assembly, dovrà usare lo stesso percorso che è stato usato per avviare l'eseguibile.If the executable delay-loads an assembly, it must use the same path that was used to start the executable. Se ad esempio la condivisione \\network-computer\share è mappata a una lettera di unità e l'eseguibile viene eseguito da questo percorso, agli assembly caricati dall'eseguibile tramite il percorso di rete non verrà concessa l'attendibilità totale.For example, if the share \\network-computer\share is mapped to a drive letter and the executable is run from that path, assemblies that are loaded by the executable by using the network path will not be granted full trust. Per eseguire il caricamento ritardato di un assembly nella zona MyComputer, l'eseguibile deve usare il percorso della lettera di unità.To delay-load an assembly in the MyComputer zone, the executable must use the drive letter path.

Ripristino dei criteri Intranet precedentiRestoring the Former Intranet Policy

Nelle versioni precedenti di .NET Framework agli assembly condivisi veniva concessa l'evidenza della zona Intranet.In earlier versions of the .NET Framework, shared assemblies were granted Intranet zone evidence. Per concedere l'attendibilità totale a un assembly su una condivisione era necessario specificare i criteri di sicurezza dall'accesso di codice.You had to specify code access security policy to grant full trust to an assembly on a share.

Questo nuovo comportamento è quello predefinito per gli assembly Intranet.This new behavior is the default for intranet assemblies. È possibile ripristinare il comportamento precedente che consiste nel concedere l'evidenza Intranet impostando una chiave del Registro di sistema applicabile a tutte le applicazioni presenti sul computer.You can return to the earlier behavior of providing Intranet evidence by setting a registry key that applies to all applications on the computer. Questo processo è diverso per i computer a 32 bit e a 64 bit:This process is different for 32-bit and 64-bit computers:

  • Nei computer a 32 bit creare una sottochiave della chiave HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework nel Registro di sistema.On 32-bit computers, create a subkey under the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework key in the system registry. Usare il nome di chiave LegacyMyComputerZone con il valore DWORD impostato su 1.Use the key name LegacyMyComputerZone with a DWORD value of 1.

  • Nei computer a 64 bit creare una sottochiave della chiave HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework nel Registro di sistema.On 64-bit computers, create a subkey under the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework key in the system registry. Usare il nome di chiave LegacyMyComputerZone con il valore DWORD impostato su 1.Use the key name LegacyMyComputerZone with a DWORD value of 1. Creare la stessa sottochiave nella chiave HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework.Create the same subkey under the HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework key.

Vedere ancheSee Also

Programmazione con gli assemblyProgramming with Assemblies