Warum stürzt meine .NET-Anwendung ab, wenn sie von einem Netzlaufwerk ausgeführt wird?
Meine .NET-Anwendung schlägt fehl, wenn Sie von einem Netzwerk-Laufwerk, auch wenn das gleiche Programm läuft-völlig in Ordnung, von einer lokalen Festplatte?
Ich habe versucht, die Kontrolle für "Volles Vertrauen" so:
try
{
//Demand full trust permissions
PermissionSet fullTrust = new PermissionSet( PermissionState.Unrestricted );
fullTrust.Demand();
//Perform normal application logic
}
catch( SecurityException )
{
//Report that permissions were not full trust
MessageBox.Show( "This application requires full-trust security permissions to execute." );
}
Dies ist jedoch nicht zu helfen, und damit meine ich die Anwendung gestartet und der catch-block wird nie betreten. Jedoch, ein debug-build zeigt, dass die Ausnahme, die ausgelöst wird eine SecurityException ausgelöst durch eine InheritanceDemand. Irgendwelche Ideen?
Kommentar zu dem Problem - Öffnen
Wenn Sie sagen, dass es "scheitert", wie genau scheitert es? Gibt es Fehler? Kommentarautor: TheSoftwareJedi
Funktioniert der code, den Sie schreiben, geht in die Haken? Kommentarautor: Patrick Desjardins
habe gerade das gleiche problem und noch KEINE Lösung gefunden noch, wird gerade diese Frage... Kommentarautor: Epaga
InformationsquelleAutor der Frage Paul Smith | 2008-09-29
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es hat in der Tat mit der Tatsache zu tun, die apps auf einem Speicherort im Netzwerk sind weniger vertraut dann auf Ihrer lokalen Festplatte (aufgrund der Standard-Richtlinien des .NET framework).
Wenn ich mich nicht Irre Microsoft endlich korrigiert dieses ärgernis .NET 3.5 SP1 (nachdem sich viele Entwickler beschwert).
Ich google würde es: .NET Framework 3.5 SP1 Ermöglicht es managed code gestartet werden, die von einer Netzwerkfreigabe!
InformationsquelleAutor der Antwort Davy Landman
Haben Sie versucht, Mit CasPol Voll Vertrauen einen Anteil?
InformationsquelleAutor der Antwort Gulzar Nazim
Können Sie dies bereits getan haben, aber Sie können CasPol.exe aktivieren FullTrust für eine angegebene Netzwerkfreigabe.
Beispielsweise
Mehr info hier.
InformationsquelleAutor der Antwort Ben Hoffstein
Wenn das so ist .NET 2.0 oder höher, ClickOnce wurde erstellt, um wirklich zu helfen, mit dieser Bereitstellung Zeug. Ich nur bereitstellen, um Netzwerk-Freigaben mit, dass.
InformationsquelleAutor der Antwort TheSoftwareJedi
Dies ist mit Sicherheit gebaut, die von microsoft in der .net-framework. Es ist ein Weg zu stoppen, die malware ausgeführt werden, die lokal mit vollen Privilegien, so dass Sie nicht ändern können dies programmgesteuert im code.
Was Sie tun müssen, ist das Vertrauen von bestimmten Baugruppen. Sie tun dies in der .NET Framework-Konfiguration (Control Panel->Administrative Tools), und hat zu sein getan auf jedem computer.
Als mit irgendwelchen Sicherheitsmaßnahmen, es ist ein Schmerz-in-the-ass, aber wird helfen, die Welt weniger infiziert usw...
InformationsquelleAutor der Antwort Mats Fredriksson
Alle die ich tun musste, war, markieren Sie die Dateien Nur Lesen (vielleicht nicht) und geben Sie alle Berechtigungen mit Ausnahme von Vollzugriff für Authentifizierte Benutzer. Ich war die Begegnung mit diesem Problem, bevor ich wusste, dass, wenn ich die Netzwerkfreigabe nur setup für Domain-Benutzer.
Entdeckte ich diese Problemumgehung, weil weder die admin-Freigaben (\server\C$), noch meine eigenen PC ' s Aktien hatte dieses problem.
Edit: App ausgerichtet ist .NET 3.5, kein SP1 hier (version 3.5.7283)
InformationsquelleAutor der Antwort QuickDanger