Hallo, ich habe eine Anwendung in C# geschrieben die auf meinem lokalen PC einwandfrei lauft. Funktion: Per Button öffnet sich ein Dateibrowser und man kann eine Datei auswählen. Wenn ich die *.exe aus dem Debug oder Release Verzeichnis dann auf einem Serververzeichnis ablege, kann ich die exe zwar starten, bekomme aber wenn ich den Button für den Browseraufruf anklicke folgende Meldung: Fehler bei der Anforderung des Berchtigungstyps System.Security.Permissions.FileIOPermission,mscorelib, Version=2.0.0.0, Culture=neutral,PublicKeyToken=b77a5c561934e089 Unter Sicherheit ist "ClickOnce-Sicherheitseinstellung aktivieren" angehakt und "Voll vertrauenswürdige Anwendung" ebenfalls. Wenn ich die exe lokal aufrufe kann ich auch Dateien auf dem Server auswählen. Es gibt dann keine Probleme. Nur wenn die exe selbst auf dem Server liegt. Habe schon wie wild gegoogelt. leider nichts passendes gefunden. Obwohl es die Meldung öfters zu geben scheint und aus dem MSDN werde ich nicht schlau. Hat das jemand schon mal gehabt? Gruß Maik
Ich kenne das nur von Java. Hier sollte es stehen. Hat etwas mit "properties" zu tun. Es muss ins Compilat. http://msdn2.microsoft.com/en-us/library/ms228285(VS.80).aspx Um was für einen Server handelt es sich? Habe solche Sachen auch schon via Samba erlebt, gespenstisch.
Microsoft Windows Server 2003 Die Einstellungen im Compiler hab ich schon wie im Post gemacht. Außer das noch was fehlt???
da steht >Fehler bei der Anforderung des Berchtigungstyps >System.Security.Permissions.FileIOPermission,mscorelib, Version=2.0.0.0, überprüfe doch mal in welchem Userkontext das Programm (auf dem Server) ausgeführt wird und ob der entsprechende USER (auf dem Server) auch Zugriff auf die Dateien hat.
Ich habe mal mit einem Ohr mitgehört, als jemand das Problem ebenfalls hatte. Leider weiss ich die Lösung nur noch so ungefähr, aber ich hoffe, es hilft trotzdem. Du musst die Sicherheitseinstellungen vom .NET Framework ändern. Du kannst dies in der Systemsteuerung -> Verwaltung -> Microsoft .NET Framework 2.0 Configuration dann My Computer -> Runtime Security Policy -> Enterprise -> Permission Sets tun. Da weiss ich nun aber gar nicht mehr weiter, aber du kannst ja ausprobieren ob es funktioniert, wenn du dort irgendwo was anderes einstellst. Wie gesagt, ich bin mir nicht mehr sicher, aber es könnte das sein. HTH Oliver
Danke für den Tipp, ich habs ausgeknobelt :-) Für alle die es interessiert: Auf dem eigenen PC unter „Systemsteuerung“ -> „Verwaltung“ Die .NET Konfiguration starten „Laufzeitsicherheitsrichtlinie“ -> „Computer“ -> „Codegruppen“ -> „All_Code“ LocalIntranet_Zone“ eine neue Codegruppe zb. Mit dem Namen „.NET C#“ anlegen. Dazu linke Maustaste und „Neu“ wählen. Die Eigenschaften kann man mit rechter Maus „Eigenschaften“ bearbeiten. Allgemein Beide Häkchen setzen: - Die Richtlinienebene erhält nur die Berechtigung in der Codegruppe zugewiesenen Berechtigungssatz. - Richtlinienebenen unter dieser Ebene werden nicht ausgewertet. Mitgliedschaftsbedingung Bedingungstyp für die Codegruppe: URL ( z.b. URL, ges. Z Laufwerk durch * angeben ) URL: file://z:/* Berechtigungssatz: FullTrust Ist nur schade, dass man das nicht im Compiler angeben kann und dies auf jedem PC angeben muss. Ob man das auch automatisieren kann? Maik
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.