<loadFromRemoteSources > 要素<loadFromRemoteSources> element

リモート ソースから読み込まれたアセンブリに対して、.NET Framework 4 以降の完全な信頼を付与するかどうかを指定します。Specifies whether assemblies loaded from remote sources should be granted full trust in .NET Framework 4 and later.


場合は、Visual Studio プロジェクトのエラー一覧またはビルド エラーのエラー メッセージのため、この記事にダイレクトされたを参照してください。方法。Visual Studio で Web からアセンブリを使用してします。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.




属性と要素Attributes and elements

以降のセクションでは、属性、子要素、および親要素について説明します。The following sections describe attributes, child elements, and parent elements.


属性Attribute 説明Description
enabled 必須の属性です。Required attribute.

リモート ソースから読み込まれたアセンブリに対して、完全な信頼を付与する必要があるかどうかを指定します。Specifies whether an assembly that is loaded from a remote source should be granted full trust.

enabled 属性enabled attribute

[値]Value 説明Description
false リモート ソースからアプリケーションに完全な信頼を付与しないでください。Do not grant full trust to applications from remote sources. 既定値です。This is the default.
true リモート ソースからアプリケーションへの完全な信頼を付与します。Grant full trust to applications from remote sources.

子要素Child elements


親要素Parent elements

要素Element 説明Description
configuration 共通言語ランタイムおよび .NET Framework アプリケーションで使用されるすべての構成ファイルのルート要素です。The root element in every configuration file used by the common language runtime and .NET Framework applications.
runtime ランタイム初期化オプションに関する情報を含んでいます。Contains information about runtime initialization options.


.NET Framework 3.5 以前のバージョンで、リモートの場所からアセンブリを読み込む場合に、アセンブリ内のコードを読み込み元のゾーンに依存している許可セットで部分信頼で実行されます。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. たとえば、web サイトからアセンブリをロードする場合インターネット ゾーンに読み込まれ、インターネット アクセス許可のセットを許可は。For example, if you load an assembly from a website, it is loaded into the Internet zone and granted the Internet permission set. つまり、インターネットのサンド ボックス内で実行します。In other words, it executes in an Internet sandbox.

以降、.NET Framework 4 では、コード アクセス セキュリティ (CAS) ポリシーが無効になり、アセンブリが完全信頼で読み込まれます。Starting with the .NET Framework 4, code access security (CAS) policy is disabled and assemblies are loaded in full trust. 読み込まれたアセンブリに完全な信頼を付与これは通常、Assembly.LoadFromサンド ボックス化された以前されていたメソッド。Ordinarily, this would grant full trust to assemblies loaded with the Assembly.LoadFrom method that previously had been sandboxed. これを防ぐためには、リモート ソースから読み込まれるアセンブリでコードを実行する機能は既定で無効になります。To prevent this, the ability to run code in assemblies loaded from a remote source is disabled by default. リモートのアセンブリを読み込もうとした場合、既定で、FileLoadException次がスローされるように、例外メッセージ。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. 

アセンブリを読み込むし、そのコードを実行、する必要がありますか。To load the assembly and execute its code, you must either:

  • アセンブリのサンド ボックスを明示的に作成 (を参照してください方法。サンド ボックスで部分信頼コードを実行)。Explicitly create a sandbox for the assembly (see How to: Run Partially Trusted Code in a Sandbox).

  • 完全信頼でアセンブリのコードを実行します。Run the assembly's code in full trust. 構成することで、これを行う、<loadFromRemoteSources>要素。You do this by configuring the <loadFromRemoteSources> element. .NET Framework の以前のバージョンで部分信頼で実行するアセンブリが .NET Framework 4 およびそれ以降のバージョンで完全な信頼で実行されるように指定できます。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.


アセンブリが完全信頼で実行されない場合は、この構成要素を設定しないでください。If the assembly should not run in full trust, do not set this configuration element. 代わりに、作成、セキュリティで保護されたAppDomainアセンブリの読み込み先となります。Instead, create a sandboxed AppDomain in which to load the assembly.

enabled属性、<loadFromRemoteSources>要素は、コード アクセス セキュリティ (CAS) を無効にした場合にのみ有効です。The enabled attribute for the <loadFromRemoteSources> element is effective only when code access security (CAS) is disabled. 既定では、.NET Framework 4 およびそれ以降のバージョンの CAS ポリシーが無効になります。By default, CAS policy is disabled in the .NET Framework 4 and later versions. 設定した場合enabledtrue、リモートのアセンブリに完全な信頼が与えられます。If you set enabled to true, remote assemblies are granted full trust.

場合enabledに設定されていないtrueFileLoadException次の条件のいずれかでスローされます。If enabled is not set to true, a FileLoadException is thrown under the either of the following conditions:

  • 現在のドメインのサンド ボックス化動作は、.NET Framework 3.5 では、その動作からは異なります。The sandboxing behavior of the current domain is different from its behavior in the .NET Framework 3.5. これは、CAS ポリシーを無効にして、現在のドメインがサンド ボックス化が必要です。This requires CAS policy to be disabled, and the current domain not to be sandboxed.

  • 読み込まれるアセンブリでない、MyComputerゾーン。The assembly being loaded is not from the MyComputer zone.

設定、<loadFromRemoteSources>要素trueによりこの例外がスローされます。Setting the <loadFromRemoteSources> element to true prevents this exception from being thrown. これにより、ことをせず、サンド ボックスに、共通言語ランタイムのセキュリティを読み込まれたアセンブリを指定してで実行を許可することができます完全な信頼。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.


  • .NET Framework 4.5 以降のバージョンで、アセンブリをローカル ネットワーク共有に完全信頼で実行既定では有効にする必要はありません、<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.

  • アプリケーションが web サイトからコピーされた場合としてマークされている Windows で web アプリケーションでは、ローカル コンピューター上にある場合でもです。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. その指定を変更するには、ファイルのプロパティを変更することで、または使用することができます、<loadFromRemoteSources>完全信頼のアセンブリに与える要素。You can change that designation by changing its file properties, or you can use the <loadFromRemoteSources> element to grant the assembly full trust. 代わりに、使用することができます、UnsafeLoadFromオペレーティング システムは、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.

  • 取得することがあります、 FileLoadException Windows Virtual PC アプリケーションで実行されているアプリケーションでします。You may get a FileLoadException in an application that is running in a Windows Virtual PC application. これは、ホスト コンピュータ上のリンクされたフォルダーからファイルをロードしようとするときに発生します。This can happen when you try to load a file from linked folders on the hosting computer. 経由でリンクされているフォルダーからファイルをロードしようとするときに起こる可能性もRemote Desktop Services (Terminal Services)。It can also occur when you try to load a file from a folder linked over Remote Desktop Services (Terminal Services). 例外を避けるためには、次のように設定します。enabledtrueします。To avoid the exception, set enabled to true.

構成ファイルConfiguration file

この要素では、通常は、アプリケーション構成ファイルで使用しますが、コンテキストに応じて他の構成ファイルで使用できます。This element is typically used in the application configuration file, but can be used in other configuration files depending upon the context. 詳細については、この記事を参照してください。詳細暗黙的な使用の CAS ポリシー: loadFromRemoteSources .NET セキュリティ ブログにします。For more information, see the article More Implicit Uses of CAS Policy: loadFromRemoteSources in the .NET Security blog.


次の例では、リモート ソースから読み込まれたアセンブリに完全な信頼を付与する方法を示します。The following example shows how to grant full trust to assemblies loaded from remote sources.

      <loadFromRemoteSources enabled="true"/>  

関連項目See also