Assembly verursacht SecurityException

MarioR

Mitglied
Hallo,

ich progge eine .NET(Klassenbibliothek) DLL für den Zugriff aus AutoCAD2005 (Export als COM).

IDE: VB.NET 2005 Express
.NET: 2.0

Von AutoCAD aus kann ich auch wunderbar auf die DLL zugreifen.
Aber ich will und muß die DLL ja auch einmal Debuggen. Dazu habe ich mir in der IDE ein neues Projekt (Windows-Application) angelegt und das DLL-Projekt als Verweis hinzugefügt.
Damit komme ich ja an die Objekte der Klassenbibliothek heran.
Rufe ich von der App. nun eine Methode einer Klasse auf, so bekomme ich eine schöne
Exeption:
"Eine Ausnahme (erste Chance) des Typs "System.Security.SecurityException" ist in KoordToolsTest.exe aufgetreten."
=> "Die Assembly lässt keine Aufrufer zu, die nicht voll vertrauenswürdig sind."

Da habe ich nun wie wild gegoogelt und (zumindest dachte ich) eine Lösung gefunden.
In den .Net2.0 Config. habe ich bei der Laufzeitsicherheitsrichtlinie->Computer->Codegruppen->Allcode
einen Codegruppeneintrag hinzugefügt mit der Bedinung StrongName und dem Berechtigungssatz FullTrust.
Und siehe da auf diesem Computer lief das Proggi. Dann bin ich hoch zum Laptop und
da hat es nicht geholfen, immernoch der gleiche Fehler.
"System.Security.SecurityException: Die Assembly lsst keine Aufrufer zu, die nicht voll vertrauenswrdig sind."

WARUM?

Gruß Mario
 

MarioR

Mitglied
...mmm

wie bereits gesagt, ich war (bin) ja der Meinung, dass ich auf dem Desktop die Anwendung
jetzt ausführen kann, weil ich den Eintrag erstellt habe. Denn probiert hatte ich auf dem Desktop seeeeeeehr viel bis es lief.

Auf dem Desktop habe ich es noch einmal probiert.

Codegruppe löschen => SecurityException
Codegruppe erstellen => Keine SecurityException

Der Laptop stellt sich stur.

Was muß man sonst noch machen um einer .Net Anwendung Zugriff auf selbsterstellte
Klassenbibliotheken zu erlauben?
 

Christian Kusmanow

Erfahrenes Mitglied
Was muß man sonst noch machen um einer .Net Anwendung Zugriff auf selbsterstellte
Klassenbibliotheken zu erlauben?
Dieses Attribut mit in die AssembyInfo.cs hinzufügen:
[assembly: System.Security.Permissions.SecurityPermission(System.Security.Permissions.SecurityAction.RequestMinimum)]

Schau dich alternativ mal auf dieser Google Suche um:
http://www.google.de/search?num=50&...t+security+permission&meta=lr=lang_de|lang_en
Sind etliche Themen vorhanden, in denen Du alles Grundlegende zu den Berechtingungen nachlesen kannst.
 

MarioR

Mitglied
... so nun habe ich einiges gelesen ...

Die Grundlagen habe ich (glaube ich) verstanden.

Gibt es für die Umsetzung im Projekt (Visual BASIC 2005) ein Demoprojekt bzw.
ein Tutorial?
Denn in den veröffentlichten Tuto's bzw. Büchern habe ich nichts dazu gefunden.

Gruß Mario
 

MarioR

Mitglied
Hallo nochmal,

ist mir vorhin entfallen, kennt jemand ein Buch, in dem die Sicherheitsmechanismen
näher (am besten an Beispielen) erläutert werden? Ob sich es sich dabei um C++,
C# oder VB handelt ist mir eigentlich egal.

Gruß Mario