Error building Visual Studio 2010 Silverlight 4 Projekte auf Windows 7 mit XP-Modus
Installierte ich Visual Studio 2010 Beta 2 in einer XP-Mode-VM auf Windows 7. Dann erstellte ich eine triviale Silverlight 4 (beta) Projekt und versucht, es zu bauen. Ich bekomme die folgende Fehlermeldung:
Fehler 1 Der "ValidateXaml" Aufgabe fehlgeschlagen
unerwartet.
System.IO.FileLoadException: Konnte nicht
geladen, Datei oder assembly
'file://\tsclient\d\Users\me\Documents\Visual
Studio
2010\Projects\SilverlightApplication2\SilverlightApplication2\obj\Debug\SilverlightApplication2.dll'
oder eine seiner Abhängigkeiten. Betrieb
wird nicht unterstützt. (Ausnahme von
HRESULT: 0x80131515)Datei-name:
'file://\tsclient\d\Users\me\Documents\Visual
Studio
2010\Projects\SilverlightApplication2\SilverlightApplication2\obj\Debug\SilverlightApplication2.dll'
---> System.NotSupportedException: es wurde versucht, eine assembly zu laden
von einem Speicherort im Netzwerk, die würde
verursacht haben, die Versammlung zu sein
Sandbox, die in früheren Versionen des
.NET-Framework. Diese Version des
.NET-Framework nicht aktivieren CAS
Richtlinie standardmäßig, so dass diese geladen werden kann
gefährlich. Wenn diese Belastung nicht
soll sandbox der Montage,
bitte aktivieren Sie die
loadFromRemoteSources wechseln. Sehen
http://go.microsoft.com/fwlink/?LinkId=155569
für weitere Informationen.in
System.Reflexion.RuntimeAssembly._nLoad(AssemblyName
fileName, String-codeBase, Beweise
assemblySecurity, RuntimeAssembly
locationHint, StackCrawlMark&
stackMark, Boolean
throwOnFileNotFound, Boolean
forIntrospection, Boolean
suppressSecurityChecks) bei
System.Reflexion.RuntimeAssembly.nLoad(AssemblyName
fileName, String-codeBase, Beweise
assemblySecurity, RuntimeAssembly
locationHint, StackCrawlMark&
stackMark, Boolean
throwOnFileNotFound, Boolean
forIntrospection, Boolean
suppressSecurityChecks) bei
System.Reflexion.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName
assemblyRef, Beweise
assemblySecurity, StackCrawlMark&
stackMark, Boolean forIntrospection,
Boolean suppressSecurityChecks) bei
System.Reflexion.RuntimeAssembly.InternalLoadFrom(String
assemblyFile, Beweise
securityEvidence, Byte[] hashValue,
AssemblyHashAlgorithm hashAlgorithm
Boolean forIntrospection, Boolean
suppressSecurityChecks,
StackCrawlMark& stackMark) bei
System.Reflexion.Montage.LoadFrom(String
assemblyFile) bei
Microsoft.Silverlight.Bauen.Aufgaben.ValidateXaml.XamlValidator.Execute(ITask
Aufgabe) bei
Microsoft.Silverlight.Bauen.Aufgaben.ValidateXaml.XamlValidator.Execute(ITask
Aufgabe) bei
Microsoft.Silverlight.Bauen.Aufgaben.ValidateXaml.Execute()
bei
Microsoft.Bauen.- BackEnd.TaskExecutionHost.Microsoft.Bauen.- BackEnd.ITaskExecutionHost.Execute()
bei
Microsoft.Bauen.- BackEnd.TaskBuilder.ExecuteInstantiatedTask(ITaskExecutionHost
taskExecutionHost, TaskLoggingContext
taskLoggingContext, TaskHost taskHost,
ItemBucket Eimer, TaskExecutionMode
howToExecuteTask, Boolean& taskResult)
Ich glaube, dies ist auf die Tatsache zurückzuführen, dass der XP-Modus leitet den Ordner eigene Dateien auf dem host, indem Sie in einem Netzwerk freigeben, und eine Art von CAS - /Sicherheitspolitik ausgelöst.
Weiss jemand wie man es beheben?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Haben Sie Hinzugefügt
<loadFromRemoteSources enabled="true"/>
in Ihrer Konfigurationsdatei?Aktivieren loadFromRemoteSources ist auch erklärt, http://social.msdn.microsoft.com/Forums/en-US/webdevelopmentprerelease/thread/ea9b9cab-cbfd-496d-8a81-7b3dd06e8c23 zusammen mit einer anderen option; setzen Sie die Umgebungsvariable COMPLUS_EnableLegacyCASPolicy.
Edit: (copy und paste aus der oben genannten URL mit dem post hab abgenommen)
David DeWinter - MSFT (Mittwoch, Mai 20, 2009 2:10 AM)
Einschränkung: ich bin nicht auf das Sicherheits-team wird aber versuchen, diese zu beantworten dennoch...
Was hier passiert ist, dass die build-tasks für Silverlight versucht, eine assembly zu laden, die in früheren Versionen der CLR, würde klassifizieren es als eine teilweise Vertrauenswürdige assembly basierend auf Ihre Evidenz (z.B. zone) nach der CAS-Richtlinie.
In CLR 4.0, CAS-Richtlinie ist völlig veraltet und wird auch nicht standardmäßig aktiviert. Unter den Umständen jedoch, es scheint, dass die CLR eine Ausnahme wirft, wenn was wäre eine teilweise vertrauenswürdigen laden in der CLR 2.0 ist eine Treuhand-laden in CLR 4.0.
Den loadFromRemoteSources schalten Sie die Ausnahme Nachricht bezieht, ist in der runtime-element unter Konfiguration sieht wie folgt aus:
Dies wird nicht aktivieren Sie legacy-CAS-Richtlinie, aber wird Ihnen erlauben, (oder, in diesem Fall, das build-system) zum laden von remote-Baugruppen mit den gleichen Berechtigungen wie die host-AppDomain. In diesem Fall scheint es, als ob man durch eine änderung der Konfiguration für das build-system (was ich davon ausgehen, wäre in diesem Fall Visual Studio: %ProgramFiles%\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe.config) aktivieren Sie diesen Schalter.
Wenn Sie nicht möchten, ändern Sie die Konfiguration dann legen Sie die Umgebungsvariable COMPLUS_EnableLegacyCASPolicy zu 1, durch die CAS-Richtlinie, die in der CLR 2.0 und ermöglichen auch Silverlight, die Last dieser Aufgabe stellen.
Hoffe, das hilft.
David, Blog - http://blogs.rev-net.com/ddewinter/ Twitter - @ddewinter
Sollte es funktionieren, wenn Sie hinzufügen
<loadFromRemoteSources enabled="true"/>
zu devenv.exe.config.Mehr Infos unter http://msdn.microsoft.com/en-us/library/dd409252%28VS.100%29.aspx