<loadFromRemoteSources >, elemento<loadFromRemoteSources> element

Especifica si se debe conceder plena confianza a los ensamblados cargados desde orígenes remotos en .NET Framework 4 y versiones posteriores.Specifies whether assemblies loaded from remote sources should be granted full trust in .NET Framework 4 and later.

Nota

Si se le dirigió a este artículo debido a un mensaje de error en la lista de errores del proyecto de Visual Studio o un error de compilación, consulte Cómo: Usar un ensamblado desde la web en VisualStudio.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>
<> en tiempo de ejecución<runtime>
<loadFromRemoteSources><loadFromRemoteSources>

SintaxisSyntax

<loadFromRemoteSources    
   enabled="true|false"/>  

Atributos y elementosAttributes and elements

En las siguientes secciones se describen los atributos, los elementos secundarios y los elementos primarios.The following sections describe attributes, child elements, and parent elements.

AtributosAttributes

AtributoAttribute DESCRIPCIÓNDescription
enabled Atributo necesario.Required attribute.

Especifica si se debe conceder plena confianza a un ensamblado que se carga desde un origen remoto.Specifies whether an assembly that is loaded from a remote source should be granted full trust.

atributo Enabledenabled attribute

ValorValue DESCRIPCIÓNDescription
false No conceda plena confianza a las aplicaciones de orígenes remotos.Do not grant full trust to applications from remote sources. Este es el valor predeterminado.This is the default.
true Conceda plena confianza a las aplicaciones desde orígenes remotos.Grant full trust to applications from remote sources.

Elementos secundariosChild elements

Ninguno.None.

Elementos primariosParent elements

ElementoElement DESCRIPCIÓNDescription
configuration Elemento raíz de cada archivo de configuración usado por las aplicaciones de Common Language Runtime y .NET Framework.The root element in every configuration file used by the common language runtime and .NET Framework applications.
runtime Contiene información sobre las opciones de inicialización del motor en tiempo de ejecución.Contains information about runtime initialization options.

ComentariosRemarks

En el .NET Framework 3,5 y versiones anteriores, si carga un ensamblado desde una ubicación remota, el código del ensamblado se ejecuta en confianza parcial con un conjunto de permisos concedidos que depende de la zona desde la que se carga.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. Por ejemplo, si carga un ensamblado desde un sitio web, se carga en la zona de Internet y se le concede el conjunto de permisos de Internet.For example, if you load an assembly from a website, it is loaded into the Internet zone and granted the Internet permission set. En otras palabras, se ejecuta en un espacio aislado de Internet.In other words, it executes in an Internet sandbox.

A partir de la .NET Framework 4, la Directiva de seguridad de acceso del código (CAS) está deshabilitada y los ensamblados se cargan con plena confianza.Starting with the .NET Framework 4, code access security (CAS) policy is disabled and assemblies are loaded in full trust. Normalmente, esto concedería plena confianza a los ensamblados cargados Assembly.LoadFrom con el método que anteriormente tenía un espacio aislado.Ordinarily, this would grant full trust to assemblies loaded with the Assembly.LoadFrom method that previously had been sandboxed. Para evitar esto, la capacidad de ejecutar código en los ensamblados cargados desde un origen remoto está deshabilitada de forma predeterminada.To prevent this, the ability to run code in assemblies loaded from a remote source is disabled by default. De forma predeterminada, si intenta cargar un ensamblado remoto, se FileLoadException produce una con un mensaje de excepción similar al siguiente: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. 

Para cargar el ensamblado y ejecutar su código, debe:To load the assembly and execute its code, you must either:

  • Cree explícitamente un espacio aislado para el ensamblado (vea cómo: Ejecutar código de confianza parcial en unespacio aislado).Explicitly create a sandbox for the assembly (see How to: Run Partially Trusted Code in a Sandbox).

  • Ejecute el código del ensamblado con plena confianza.Run the assembly's code in full trust. Para ello, configure el <loadFromRemoteSources> elemento.You do this by configuring the <loadFromRemoteSources> element. Le permite especificar que los ensamblados que se ejecutan en confianza parcial en versiones anteriores del .NET Framework ahora se ejecutan en plena confianza en el .NET Framework 4 y versiones posteriores.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

Si el ensamblado no debe ejecutarse con plena confianza, no establezca este elemento de configuración.If the assembly should not run in full trust, do not set this configuration element. AppDomain En su lugar, cree un espacio aislado en el que cargar el ensamblado.Instead, create a sandboxed AppDomain in which to load the assembly.

El enabled atributo del <loadFromRemoteSources> elemento solo es efectivo cuando está deshabilitada la seguridad de acceso del código (CAS).The enabled attribute for the <loadFromRemoteSources> element is effective only when code access security (CAS) is disabled. De forma predeterminada, la Directiva CAS está deshabilitada en el .NET Framework 4 y versiones posteriores.By default, CAS policy is disabled in the .NET Framework 4 and later versions. Si establece enabled en, truese concederá plena confianza a los ensamblados remotos.If you set enabled to true, remote assemblies are granted full trust.

Si enabled no se establece en true, se FileLoadException produce una excepción en cualquiera de las siguientes condiciones:If enabled is not set to true, a FileLoadException is thrown under the either of the following conditions:

  • El comportamiento de espacio aislado del dominio actual es diferente de su comportamiento en el .NET Framework 3,5.The sandboxing behavior of the current domain is different from its behavior in the .NET Framework 3.5. Esto requiere que la Directiva de CAS esté deshabilitada y que el dominio actual no esté en un espacio aislado.This requires CAS policy to be disabled, and the current domain not to be sandboxed.

  • El ensamblado que se está cargando no MyComputer es de la zona.The assembly being loaded is not from the MyComputer zone.

Establecer el <loadFromRemoteSources> elemento en true evita que se produzca esta excepción.Setting the <loadFromRemoteSources> element to true prevents this exception from being thrown. Permite especificar que no se confíe en el Common Language Runtime para crear un espacio aislado de seguridad de los ensamblados cargados y que se puedan ejecutar con plena confianza.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.

NotasNotes

  • En el .NET Framework 4,5 y versiones posteriores, los ensamblados de recursos compartidos de red locales se ejecutan de forma predeterminada en plena confianza. no es necesario habilitar el <loadFromRemoteSources> elemento.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.

  • Si se ha copiado una aplicación de la web, Windows la marca como una aplicación Web, aunque se encuentre en el equipo local.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. Puede cambiar esa designación cambiando sus propiedades de archivo, o puede usar el <loadFromRemoteSources> elemento para conceder plena confianza al ensamblado.You can change that designation by changing its file properties, or you can use the <loadFromRemoteSources> element to grant the assembly full trust. Como alternativa, puede utilizar el UnsafeLoadFrom método para cargar un ensamblado local que el sistema operativo ha marcado como cargado desde Internet.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.

  • Puede obtener un FileLoadException en una aplicación que se ejecuta en una aplicación de Windows Virtual PC.You may get a FileLoadException in an application that is running in a Windows Virtual PC application. Esto puede ocurrir cuando se intenta cargar un archivo desde carpetas vinculadas en el equipo host.This can happen when you try to load a file from linked folders on the hosting computer. También se puede producir al intentar cargar un archivo desde una carpeta vinculada a través de servicios de escritorio remoto (Terminal Services).It can also occur when you try to load a file from a folder linked over Remote Desktop Services (Terminal Services). Para evitar la excepción, establezca enabled en true.To avoid the exception, set enabled to true.

Archivo de configuraciónConfiguration file

Este elemento se utiliza normalmente en el archivo de configuración de la aplicación, pero se puede usar en otros archivos de configuración en función del contexto.This element is typically used in the application configuration file, but can be used in other configuration files depending upon the context. Para obtener más información, vea el artículo uso más implícito de la Directiva CAS: loadFromRemoteSources en el blog de seguridad de .net.For more information, see the article More Implicit Uses of CAS Policy: loadFromRemoteSources in the .NET Security blog.

EjemploExample

En el ejemplo siguiente se muestra cómo conceder plena confianza a los ensamblados cargados desde orígenes remotos.The following example shows how to grant full trust to assemblies loaded from remote sources.

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

Vea tambiénSee also