<elemento > loadFromRemoteSources<loadFromRemoteSources> element

Specifica se agli assembly caricati da origini remote deve essere concessa l'attendibilità totale in .NET Framework 4 e versioni successive.Specifies whether assemblies loaded from remote sources should be granted full trust in .NET Framework 4 and later.

Nota

Se è stato indirizzato a questo articolo a causa di un messaggio di errore nell'elenco errori del progetto di Visual Studio o di un errore di compilazione, vedere procedura: usare un assembly dal Web in Visual Studio.If you were directed to this article because of an error message in the Visual Studio project error list or a build error, see How to: Use an Assembly from the Web in Visual Studio.

<configuration> <configuration>
    <runtime >   <runtime>
     <loadFromRemoteSources >    <loadFromRemoteSources>

SintassiSyntax

<loadFromRemoteSources    
   enabled="true|false"/>  

Attributi ed elementiAttributes and elements

Nelle sezioni seguenti vengono descritti gli attributi, gli elementi figlio e gli elementi padre.The following sections describe attributes, child elements, and parent elements.

AttributiAttributes

AttributoAttribute DescrizioneDescription
enabled Attributo obbligatorio.Required attribute.

Specifica se a un assembly caricato da un'origine remota deve essere concessa l'attendibilità totale.Specifies whether an assembly that is loaded from a remote source should be granted full trust.

attributo enabledenabled attribute

ValueValue DescrizioneDescription
false Non concedere l'attendibilità totale alle applicazioni da origini remote.Do not grant full trust to applications from remote sources. Questa è l'impostazione predefinita.This is the default.
true Concedere l'attendibilità totale alle applicazioni dalle origini remote.Grant full trust to applications from remote sources.

Elementi figlioChild elements

Nessuna.None.

Elementi padreParent elements

ElementoElement DescrizioneDescription
configuration Elemento radice in ciascun file di configurazione usato in Common Language Runtime e nelle applicazioni .NET Framework.The root element in every configuration file used by the common language runtime and .NET Framework applications.
runtime Contiene informazioni sulle opzioni di inizializzazione in fase di esecuzione.Contains information about runtime initialization options.

NoteRemarks

In .NET Framework 3,5 e versioni precedenti, se si carica un assembly da una posizione remota, il codice nell'assembly viene eseguito in attendibilità parziale con un set di concessioni che dipende dalla zona da cui viene caricato.In the .NET Framework 3.5 and earlier versions, if you load an assembly from a remote location, code in the assembly runs in partial trust with a grant set that depends on the zone from which it is loaded. Ad esempio, se si carica un assembly da un sito Web, questo viene caricato nell'area Internet e viene concesso il set di autorizzazioni Internet.For example, if you load an assembly from a website, it is loaded into the Internet zone and granted the Internet permission set. In altre parole, viene eseguito in una sandbox Internet.In other words, it executes in an Internet sandbox.

A partire da .NET Framework 4, il criterio di sicurezza dall'accesso di codice (CAS) è disabilitato e gli assembly vengono caricati in attendibilità totale.Starting with the .NET Framework 4, code access security (CAS) policy is disabled and assemblies are loaded in full trust. In genere, ciò consentirebbe l'attendibilità totale per gli assembly caricati con il metodo Assembly.LoadFrom che in precedenza era stato creato mediante sandbox.Ordinarily, this would grant full trust to assemblies loaded with the Assembly.LoadFrom method that previously had been sandboxed. Per evitare questo problema, la possibilità di eseguire il codice negli assembly caricati da un'origine remota è disabilitata per impostazione predefinita.To prevent this, the ability to run code in assemblies loaded from a remote source is disabled by default. Per impostazione predefinita, se si tenta di caricare un assembly remoto, viene generata un'FileLoadException con un messaggio di eccezione simile al seguente:By default, if you attempt to load a remote assembly, a FileLoadException with an exception message like the following is thrown:

System.IO.FileNotFoundException: Could not load file or assembly 'file:assem.dll' or one of its dependencies. Operation is not supported. 
(Exception from HRESULT: 0x80131515)
File name: 'file:assem.dll' ---> 
System.NotSupportedException: An attempt was made to load an assembly from a network location which would have caused the assembly 
to be sandboxed in previous versions of the .NET Framework. This release of the .NET Framework does not enable CAS policy by default, 
so this load may be dangerous. If this load is not intended to sandbox the assembly, please enable the loadFromRemoteSources switch. 

Per caricare l'assembly ed eseguire il codice, è necessario eseguire una delle operazioni seguenti:To load the assembly and execute its code, you must either:

  • Creare in modo esplicito un sandbox per l'assembly. vedere procedura: eseguire codice parzialmente attendibile in un ambiente sandbox.Explicitly create a sandbox for the assembly (see How to: Run Partially Trusted Code in a Sandbox).

  • Eseguire il codice dell'assembly in attendibilità totale.Run the assembly's code in full trust. A tale scopo, configurare l'elemento <loadFromRemoteSources>.You do this by configuring the <loadFromRemoteSources> element. Consente di specificare che gli assembly eseguiti in attendibilità parziale nelle versioni precedenti del .NET Framework ora vengono eseguiti con attendibilità totale in .NET Framework 4 e versioni successive.It lets you specify that the assemblies that run in partial trust in earlier versions of the .NET Framework now run in full trust in the .NET Framework 4 and later versions.

Importante

Se l'assembly non deve essere eseguito con attendibilità totale, non impostare questo elemento di configurazione.If the assembly should not run in full trust, do not set this configuration element. In alternativa, creare un AppDomain in modalità sandbox in cui caricare l'assembly.Instead, create a sandboxed AppDomain in which to load the assembly.

L'attributo enabled per l'elemento <loadFromRemoteSources> è efficace solo quando la sicurezza dall'accesso di codice (CAS) è disabilitata.The enabled attribute for the <loadFromRemoteSources> element is effective only when code access security (CAS) is disabled. Per impostazione predefinita, il criterio CAS è disabilitato in .NET Framework 4 e versioni successive.By default, CAS policy is disabled in the .NET Framework 4 and later versions. Se si imposta enabled su true, agli assembly remoti viene concessa l'attendibilità totale.If you set enabled to true, remote assemblies are granted full trust.

Se enabled non è impostato su true, viene generata un'FileLoadException in una delle condizioni seguenti:If enabled is not set to true, a FileLoadException is thrown under the either of the following conditions:

  • Il comportamento di sandboxing del dominio corrente è diverso dal relativo comportamento nella .NET Framework 3,5.The sandboxing behavior of the current domain is different from its behavior in the .NET Framework 3.5. Questa operazione richiede che i criteri CAS siano disabilitati e che il dominio corrente non venga creato mediante sandbox.This requires CAS policy to be disabled, and the current domain not to be sandboxed.

  • L'assembly da caricare non è dalla zona MyComputer.The assembly being loaded is not from the MyComputer zone.

L'impostazione dell'elemento <loadFromRemoteSources> su true impedisce che venga generata questa eccezione.Setting the <loadFromRemoteSources> element to true prevents this exception from being thrown. Consente di specificare che non si basano sulla Common Language Runtime per eseguire la sandbox degli assembly caricati per la sicurezza e che è possibile eseguirli con attendibilità totale.It enables you to specify that you are not relying on the common language runtime to sandbox the loaded assemblies for security, and that they can be allowed to execute in full trust.

NoteNotes

  • In .NET Framework 4,5 e versioni successive, gli assembly sulle condivisioni di rete locali vengono eseguiti in attendibilità totale per impostazione predefinita. non è necessario abilitare l'elemento <loadFromRemoteSources>.In the .NET Framework 4.5 and later versions, assemblies on local network shares run in full trust by default; you do not have to enable the <loadFromRemoteSources> element.

  • Se un'applicazione è stata copiata dal Web, viene contrassegnata da Windows come applicazione Web, anche se risiede nel computer locale.If an application has been copied from the web, it is flagged by Windows as being a web application, even if it resides on the local computer. È possibile modificare la designazione cambiando le proprietà del file oppure è possibile utilizzare l'elemento <loadFromRemoteSources> per concedere l'attendibilità totale dell'assembly.You can change that designation by changing its file properties, or you can use the <loadFromRemoteSources> element to grant the assembly full trust. In alternativa, è possibile usare il metodo UnsafeLoadFrom per caricare un assembly locale segnalato dal sistema operativo come caricato dal Web.As an alternative, you can use the UnsafeLoadFrom method to load a local assembly that the operating system has flagged as having been loaded from the web.

  • È possibile ottenere un FileLoadException in un'applicazione in esecuzione in un'applicazione Windows Virtual PC.You may get a FileLoadException in an application that is running in a Windows Virtual PC application. Questo problema può verificarsi quando si tenta di caricare un file dalle cartelle collegate nel computer host.This can happen when you try to load a file from linked folders on the hosting computer. Può inoltre verificarsi quando si tenta di caricare un file da una cartella collegata tramite Servizi Desktop remoto (Servizi terminal).It can also occur when you try to load a file from a folder linked over Remote Desktop Services (Terminal Services). Per evitare l'eccezione, impostare enabled su true.To avoid the exception, set enabled to true.

File di configurazioneConfiguration file

Questo elemento viene in genere usato nel file di configurazione dell'applicazione, ma può essere usato in altri file di configurazione a seconda del contesto.This element is typically used in the application configuration file, but can be used in other configuration files depending upon the context. Per ulteriori informazioni, vedere l'articolo utilizzi più impliciti dei criteri CAS: loadFromRemoteSources nel Blog sulla sicurezza di .NET.For more information, see the article More Implicit Uses of CAS Policy: loadFromRemoteSources in the .NET Security blog.

EsempioExample

Nell'esempio seguente viene illustrato come concedere l'attendibilità totale agli assembly caricati da origini remote.The following example shows how to grant full trust to assemblies loaded from remote sources.

<configuration>  
   <runtime>  
      <loadFromRemoteSources enabled="true"/>  
   </runtime>  
</configuration>  

Vedere ancheSee also