<loadFromRemoteSources>-Element
 

Gibt an, ob Assemblys von Remotequellen volle Vertrauenswürdigkeit gewährt werden soll.

System_CAPS_noteHinweis

Wenn Sie zu diesem Thema wegen einer Fehlermeldung in der Visual Studio-Projekt-Fehlerliste oder eines Buildfehlers weitergeleitet wurden, finden Sie unter Gewusst wie: Verwenden einer Assembly aus dem Internet in Visual Studio Informationen.

<loadFromRemoteSources  
   enabled="true|false"/>

Attribute und Elemente

In den folgenden Abschnitten werden Attribute sowie untergeordnete und übergeordnete Elemente beschrieben.

Attribute

Attribute

Beschreibung

enabled

Erforderliches Attribut.

Gibt an, ob eine aus Remotequellen geladene Assembly volle Vertrauenswürdigkeit gewährt werden soll.

Enabled-Attribut

Wert

Beschreibung

false

Gewähren Sie Anwendungen aus Remotequellen keine vollständige Vertrauenswürdigkeit. Dies ist der Standardwert.

true

Gewähren Sie Anwendungen aus Remotequellen vollständige Vertrauenswürdigkeit.

Untergeordnete Elemente

Keine.

Übergeordnete Elemente

Element

Beschreibung

configuration

Das Stammelement in jeder von den Common Language Runtime- und .NET Framework-Anwendungen verwendeten Konfigurationsdatei.

runtime

Enthält Informationen über Laufzeitinitialisierungsoptionen.

In .NET Framework 3.5 und früheren Versionen wurden Assemblys, die von einem Remotestandort geladen wurden, mit einem Berechtigungssatz als teilweise vertrauenswürdig ausgeführt, der von der Zone abhängig war, in der die Assembly geladen wurde. Wenn Sie eine Assembly aus einer Website Arbeitsbereich, wurde sie in der Internetzone geladen und den Berechtigungssatz hat. Die Ausführung ist mit anderen Worten in einer Internet-Sandbox erfolgt. Wenn Sie versuchen, diese Assembly in .NET Framework 4 und höheren Versionen ausgeführt, wird eine Ausnahme ausgelöst; Sie müssen entweder einen Sandkasten für die Assembly nicht explizit erstellen (siehe How to: Run Partially Trusted Code in a Sandbox), oder führen Sie es in voller Vertrauenswürdigkeit aus.

Das <loadFromRemoteSources>-Elements können Sie angeben, dass die Assemblys, die mit teilweiser Vertrauenswürdigkeit in früheren Versionen von .NET Framework ausgeführt hätten, sein, auf voll vertrauenswürdige in .NET Framework 4 und höheren Versionen sind. Standardmäßig können die Assemblys nicht in .NET Framework 4 und höher. Um eine Remoteanwendung Assembly auszuführen, müssen Sie sie entweder mit voller Vertrauenswürdigkeit ausführen oder einem Sandkasten AppDomain erstellen im ihn ausführen.

System_CAPS_noteHinweis

In .NET Framework 4.5 werden Assemblys auf Freigaben des lokalen Netzwerks als standardmäßig volle Vertrauenswürdigkeit ausgeführt; Sie müssen das <loadFromRemoteSources>-Element nicht aktivieren.

System_CAPS_noteHinweis

Wenn eine Anwendung aus dem Web kopiert wurde, wird durch Windows als Webanwendung bezeichnet, wenn sie auf dem lokalen Computer befinden. Sie können diese Bezeichnung ändern, indem Sie die Dateieigenschaften ändern, oder Sie können der Assembly volle Vertrauenswürdigkeit mithilfe des <loadFromRemoteSources>-Elements gewähren. Alternativ können Sie die UnsafeLoadFrom-Methode verwenden, um eine lokale Assembly zu laden, die das Betriebssystem hat bezeichnet, z, Laden aus dem Web.

Das enabled-Attribut für dieses Element ist nur wirksam, wenn die Codezugriffssicherheit (CAS) deaktiviert wird. Die CAS-Richtlinie ist in .NET Framework 4 und höher standardmäßig deaktiviert. Wenn Sie enabled auf true festlegten, wird Remoteanwendungen volle Vertrauenswürdigkeit gewährt.

Wenn <loadFromRemoteSources> enabled nicht auf true festgelegt wird, wird unter folgenden Umständen eine Ausnahme ausgelöst:

  • Das Sandboxverhalten der aktuellen Domäne unterscheidet sich vom Verhalten in .NET Framework 3.5. Dies erfordert eine Deaktivierung der CAS-Richtlinie, und die aktuelle Domäne darf nicht Teil einer Sandbox sein.

  • Die Assembly, die geladen wird, stammt nicht aus der MyComputer-Zone.

System_CAPS_noteHinweis

Sie können eine FileLoadException in einer Windows Virtual PC-Anwendung abrufen, wenn Sie versuchen, eine Datei aus verknüpften Ordnern auf dem Host-Computer zu laden. Dieser Fehler tritt möglicherweise auch auf, wenn Sie versuchen, eine Datei aus einem Ordner zu laden, der von die Remotedesktopdienste verknüpft ist (Terminaldienste). Um die Ausnahme zu vermeiden, setzen Sie das enabled-Objekt auf true.

Sie können verhindern, dass diese Ausnahme ausgelöst wird, indem Sie das <loadFromRemoteSources>-Element auf true festlegen. Damit können Sie angeben, dass Sie sich nicht darauf verlassen, dass von der Common Language Runtime zur Sicherheit eine Sandbox für die geladenen Assemblys bereitgestellt wird und die Assemblys als vollständig vertrauenswürdig ausgeführt werden können.

System_CAPS_importantWichtig

Legen Sie dieses Konfigurationselement nicht fest, wenn die Assembly nicht als vollständig vertrauenswürdig ausgeführt werden soll. Erstellen Sie stattdessen eine Sandbox- AppDomain, in die die Assembly geladen werden soll.

Dieses Element wird in der Regel in der Anwendungskonfigurationsdatei verwendet, kann jedoch in anderen Konfigurationsdateien je nach Kontext verwendet werden. Weitere Informationen finden Sie im Artikel Implizitere Verwendungen von CAS Richtlinien: loadFromRemoteSources im .NET-Sicherheitsblog.

Beispiel

Im folgenden Beispiel wird gezeigt, wie Anwendungen aus Remotequellen vollständige Vertrauenswürdigkeit gewährt wird.

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