2009-04-24 10 views
0

Ok, also hier ist der Deal. Ich habe dieses Projekt namens Import.exe. Es wird nach einer Datei suchen, sie analysieren und Castle AR zum Importieren verwenden. Das läuft großartig in der Befehlszeile.Castle ActiveRecord - Befehlszeilen-Assemblierungen im Vergleich zu VB.Net Assemblies Problem

Jetzt das gleiche Import.exe muss von VB.NET Web-Programm nach einem Datei-Upload ausgeführt werden. Ich verwende System.Debug.Process.Start, um die exe aufzurufen. Die Datei-Uploads in Ordnung, das Programm läuft (ich sehe es in dem Task-Manager für ein paar Sekunden) und ich habe die Fehlerausgabe umgeleitet und es gibt mir dies:

Unbehandelte Ausnahme: System.IO.FileLoadException: Die Datei oder Assembly 'Castle.ActiveRecord, Version = 1.0.3.0, Culture = neutral, PublicKeyToken = 407dd0808d44fbdc' oder eine ihrer Abhängigkeiten konnte nicht geladen werden. Der Zugriff wurde verweigert.

Ich habe die DLLs im selben Ordner wie die EXEs. Ich habe diese dem GAC hinzugefügt, und ich habe sogar die Assembly-Verweise zu der web.config-Datei der Website hinzugefügt.

Jetzt, da ich aus dem Linux/Ruby Camp komme, bin ich in sehr fremden Territorien und habe alle meine Ressourcen ausgeschöpft. Jede Hilfe würde sehr geschätzt werden! Heck, sogar Erklärungen oder Links zu guten Referenzen für das Lernen über die Unterschiede von Assemblys von Command Line vs VB.NET wäre großartig.

Antwort

1

Das .NET Framework hat einige ziemlich restriktive Standard-Sicherheitseinstellungen für die Web-Seite. Ich schätze, dass Sie Ihrem aufrufenden Programm etwas mehr freizügige Vertrauensstellungen gewähren müssen.

Es gibt eine kleine sample program at MSDN, die Sie versuchen könnten, von Ihrem Webprogramm (anstelle von Ihrer Import.exe) zu starten, um zu sehen, welche Art von Zugriff standardmäßig gewährt wird.

Sobald Sie verstehen, welche Art von Vertrauen Ihre bestimmte Anwendung benötigt, können Sie follow these steps die Vertrauensstufe Ihrer aufgerufenen Assembly ändern.

Viel Glück! Der Übergang von Linux zu Windows kann besonders schmerzhaft sein :)

Verwandte Themen