Castle ActiveRecord - Сборки командной строки и проблема сборок VB.Net - PullRequest
0 голосов
/ 24 апреля 2009

Хорошо, вот и сделка. У меня есть этот проект под названием Import.exe. Он будет искать файл, анализировать его и использовать Castle AR для импорта. Это отлично работает в командной строке.

Теперь тот же Import.exe необходимо запустить из веб-программы VB.NET после загрузки файла. Я использую System.Debug.Process.Start для вызова exe. Файл загружается нормально, программа запускается (я вижу его в диспетчере задач в течение нескольких секунд), и я перенаправил вывод ошибок, и он дает мне это:

Необработанное исключение: System.IO.FileLoadException: не удалось загрузить файл или сборку 'Castle.ActiveRecord, версия = 1.0.3.0, культура = нейтральная, PublicKeyToken = 407dd0808d44fbdc' или одна из ее зависимостей. Доступ запрещен.

У меня есть DLL в той же папке, что и exe. Я добавил их в GAC и даже добавил ссылки на сборки в файл web.config веб-сайтов.

Теперь, так как я приехал из Linux / Ruby Camp, я нахожусь на очень чужой территории и исчерпал все свои ресурсы. Любая помощь будет принята с благодарностью! Черт, даже объяснения или ссылки на хорошие ссылки для изучения отличий сборок от командной строки и VB.NET были бы хороши.

1 Ответ

1 голос
/ 24 апреля 2009

.NET Framework имеет некоторые довольно строгие настройки безопасности по умолчанию для веб-стороны. Я предполагаю, что вам нужно будет предоставить более разрешающие настройки доверия вашей вызывающей программе.

На MSDN есть небольшая демонстрационная программа, которую вы можете попробовать запустить из своей веб-программы (вместо Import.exe), чтобы узнать, какой доступ вам предоставляется по умолчанию.

Как только вы поймете, какое доверие требуется вашему конкретному приложению, вы можете

выполнить следующие действия , чтобы изменить уровень доверия к вашей вызываемой сборке.

Удачи! Переход с Linux на Windows может быть особенно болезненным:)

...