2009-04-24 5 views
0

Ok, alors voici l'affaire. J'ai ce projet appelé Import.exe. Il va chercher un fichier, l'analyser et utiliser Castle AR pour l'importer. Cela fonctionne très bien à la ligne de commande.Castle ActiveRecord - Assemblys de ligne de commande par rapport aux assemblys VB.Net Problème

Maintenant que le même Import.exe doit être exécuté à partir de et le programme Web VB.NET après un fichier Upload. J'utilise System.Debug.Process.Start pour appeler l'exe. Le fichier télécharge fin, le programme court (je le vois dans le gestionnaire de tâches pendant quelques secondes) et je l'ai redirigé la sortie d'erreur et il me donne ceci:

Exception non gérée: System.IO.FileLoadException: Impossible de charger le fichier ou l'assemblage 'Castle.ActiveRecord, Version = 1.0.3.0, Culture = neutre, PublicKeyToken = 407dd0808d44fbdc' ou l'une de ses dépendances. L'accès est refusé.

J'ai la DLL dans le même dossier que l'exe. J'ai ajouté ceux-ci au GAC, et j'ai même ajouté les références d'assemblage au site Web web.config. Maintenant que je viens du camp Linux/Ruby, je suis en territoire étranger et j'ai épuisé toutes mes ressources. Toute aide serait grandement appréciée! Heck, même des explications ou des liens vers de bonnes références pour apprendre sur les différences d'assemblées de la ligne de commande vs VB.NET serait génial.

Répondre

1

.NET Framework possède des paramètres de sécurité par défaut relativement restrictifs pour le côté Web. Je suppose que vous devrez accorder des paramètres de confiance plus permissifs à votre programme d'appel.

Il y a un petit sample program at MSDN que vous pourriez essayer de lancer à partir de votre programme web (au lieu de votre Import.exe) pour voir quel type d'accès vous est accordé par défaut. Une fois que vous avez compris le type de confiance dont votre application particulière a besoin, vous pouvez follow these steps modifier le niveau de confiance de votre assembly appelé.

Bonne chance! La transition de Linux à Windows peut être particulièrement douloureuse :)

Questions connexes