<loadFromRemoteSources>, élément<loadFromRemoteSources> element

Spécifie si les assemblys chargés à partir de sources distantes doivent bénéficier d’une confiance totale dans .NET Framework 4 et versions ultérieures.Specifies whether assemblies loaded from remote sources should be granted full trust in .NET Framework 4 and later.

Notes

Si vous êtes redirigé vers cet article en raison d’un message d’erreur dans la liste d’erreurs d’un projet Visual Studio ou d’une erreur de génération, consultez Comment : utiliser un assembly à partir du Web dans 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>
  <runtime>
    <loadFromRemoteSources>

SyntaxeSyntax

<loadFromRemoteSources
   enabled="true|false"/>  

Attributs et élémentsAttributes and elements

Les sections suivantes décrivent des attributs, des éléments enfants et des éléments parents.The following sections describe attributes, child elements, and parent elements.

AttributsAttributes

AttributAttribute DescriptionDescription
enabled Attribut requis.Required attribute.

Spécifie si un assembly qui est chargé à partir d’une source distante doit bénéficier d’une confiance totale.Specifies whether an assembly that is loaded from a remote source should be granted full trust.

attribut activéenabled attribute

ValueValue DescriptionDescription
false N’accordez pas une confiance totale aux applications à partir de sources distantes.Do not grant full trust to applications from remote sources. Il s’agit de la valeur par défaut.This is the default.
true Accordez une confiance totale aux applications à partir de sources distantes.Grant full trust to applications from remote sources.

Éléments enfantsChild elements

Aucun.None.

Éléments parentsParent elements

ÉlémentElement DescriptionDescription
configuration Élément racine de chaque fichier de configuration utilisé par le Common Language Runtime et les applications .NET Framework.The root element in every configuration file used by the common language runtime and .NET Framework applications.
runtime Contient des informations sur les options d'initialisation du runtime.Contains information about runtime initialization options.

NotesRemarks

Dans le .NET Framework 3,5 et les versions antérieures, si vous chargez un assembly à partir d’un emplacement distant, le code de l’assembly s’exécute en confiance partielle avec un jeu d’autorisations qui dépend de la zone à partir de laquelle il est chargé.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. Par exemple, si vous chargez un assembly à partir d’un site Web, il est chargé dans la zone Internet et reçoit le jeu d’autorisations 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 d’autres termes, il s’exécute dans un bac à sable (sandbox) Internet.In other words, it executes in an Internet sandbox.

À partir du .NET Framework 4, la stratégie de sécurité d’accès du code est désactivée et les assemblys sont chargés en confiance totale.Starting with the .NET Framework 4, code access security (CAS) policy is disabled and assemblies are loaded in full trust. En règle générale, cela accorde une confiance totale aux assemblys chargés avec la Assembly.LoadFrom méthode qui avait précédemment été bac à sable (sandbox).Ordinarily, this would grant full trust to assemblies loaded with the Assembly.LoadFrom method that previously had been sandboxed. Pour éviter cela, la possibilité d’exécuter du code dans des assemblys chargés à partir d’une source distante est désactivée par défaut.To prevent this, the ability to run code in assemblies loaded from a remote source is disabled by default. Par défaut, si vous tentez de charger un assembly distant, un FileLoadException avec un message d’exception semblable au suivant est levé :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.

Pour charger l’assembly et exécuter son code, vous devez :To load the assembly and execute its code, you must either:

  • Créez explicitement un bac à sable (sandbox) pour l’assembly (consultez Comment : exécuter du code de confiance partielle dans un bac à sable (sandbox)).Explicitly create a sandbox for the assembly (see How to: Run Partially Trusted Code in a Sandbox).

  • Exécutez le code de l’assembly en confiance totale.Run the assembly's code in full trust. Pour ce faire, vous devez configurer l' <loadFromRemoteSources> élément.You do this by configuring the <loadFromRemoteSources> element. Elle vous permet de spécifier que les assemblys qui s’exécutent en mode de confiance partielle dans les versions antérieures du .NET Framework désormais s’exécuter avec une confiance totale dans le .NET Framework 4 et versions ultérieures.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.

Important

Si l’assembly ne doit pas s’exécuter en mode de confiance totale, ne définissez pas cet élément de configuration.If the assembly should not run in full trust, do not set this configuration element. Au lieu de cela, créez un bac à sable (sandbox) AppDomain dans lequel charger l’assembly.Instead, create a sandboxed AppDomain in which to load the assembly.

L' enabled attribut de l' <loadFromRemoteSources> élément est effectif uniquement lorsque la sécurité d’accès du code (cas) est désactivée.The enabled attribute for the <loadFromRemoteSources> element is effective only when code access security (CAS) is disabled. Par défaut, la stratégie CAS est désactivée dans le .NET Framework 4 et versions ultérieures.By default, CAS policy is disabled in the .NET Framework 4 and later versions. Si vous affectez enabled à true , les assemblys distants bénéficient d’une confiance totale.If you set enabled to true, remote assemblies are granted full trust.

Si enabled n’a pas la valeur true , une FileLoadException exception est levée dans l’une des conditions suivantes :If enabled is not set to true, a FileLoadException is thrown under the either of the following conditions:

  • Le comportement de bac à sable (sandbox) du domaine actuel est différent de son comportement dans le .NET Framework 3,5.The sandboxing behavior of the current domain is different from its behavior in the .NET Framework 3.5. Cela nécessite que la stratégie CAS soit désactivée et que le domaine actuel ne soit pas en mode bac à sable (sandbox).This requires CAS policy to be disabled, and the current domain not to be sandboxed.

  • L’assembly en cours de chargement ne provient pas de la MyComputer zone.The assembly being loaded is not from the MyComputer zone.

La définition de l' <loadFromRemoteSources> élément pour true empêche la levée de cette exception.Setting the <loadFromRemoteSources> element to true prevents this exception from being thrown. Elle vous permet de spécifier que vous ne comptez pas sur les common language runtime pour mettre en sandbox les assemblys chargés pour la sécurité, et qu’ils peuvent être autorisés à s’exécuter en mode confiance 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.

NotesNotes

  • Dans le .NET Framework 4,5 et versions ultérieures, les assemblys sur les partages réseau locaux s’exécutent en mode de confiance totale par défaut ; vous n’avez pas besoin d’activer l' <loadFromRemoteSources> élément.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 une application a été copiée à partir du Web, elle est marquée par Windows comme étant une application Web, même si elle réside sur l’ordinateur 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. Vous pouvez modifier cette désignation en modifiant ses propriétés de fichier, ou vous pouvez utiliser l' <loadFromRemoteSources> élément pour accorder la confiance totale à l’assembly.You can change that designation by changing its file properties, or you can use the <loadFromRemoteSources> element to grant the assembly full trust. Vous pouvez également utiliser la UnsafeLoadFrom méthode pour charger un assembly local que le système d’exploitation a marqué comme ayant été chargé à partir du 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.

  • Vous pouvez obtenir un FileLoadException dans une application qui s’exécute dans une application Windows Virtual PC.You may get a FileLoadException in an application that is running in a Windows Virtual PC application. Cela peut se produire lorsque vous essayez de charger un fichier à partir de dossiers liés sur l’ordinateur hôte.This can happen when you try to load a file from linked folders on the hosting computer. Cela peut également se produire lorsque vous essayez de charger un fichier à partir d’un dossier lié à services Bureau à distance (services Terminal Server).It can also occur when you try to load a file from a folder linked over Remote Desktop Services (Terminal Services). Pour éviter l’exception, affectez à la valeur enabled true .To avoid the exception, set enabled to true.

Fichier de configurationConfiguration file

Cet élément est généralement utilisé dans le fichier de configuration de l’application, mais peut être utilisé dans d’autres fichiers de configuration en fonction du contexte.This element is typically used in the application configuration file, but can be used in other configuration files depending upon the context. Pour plus d’informations, consultez l’article utilisations plus implicites de la stratégie cas : loadFromRemoteSources dans le blog sur la sécurité .net.For more information, see the article More Implicit Uses of CAS Policy: loadFromRemoteSources in the .NET Security blog.

 ExempleExample

L’exemple suivant montre comment accorder une confiance totale aux assemblys chargés à partir de sources distantes.The following example shows how to grant full trust to assemblies loaded from remote sources.

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

Voir aussiSee also