Ошибка при загрузки сборок
От: Didi  
Дата: 20.03.15 17:55
Оценка:
Привет всем.
Я выполняю динамическую компиляцию при работе программы. Компиляция в памяти. При этом используются некие мои дополнительные библиотеки. Я указываю к ним путь и компиляция проходит нормально. Но при выполнении кода, вызывающего что-то из этих библиотек возникает исключение — она тупо не находит эти библиотеки. Если их бросаешь в один каталог с программой — все нормально. Есть ли возможность указать их расположение. Какие библиотеки будут использованы заранее неизвестно.
Re: Ошибка при загрузки сборок
От: Sharov Россия  
Дата: 20.03.15 18:41
Оценка:
Здравствуйте, Didi, Вы писали:

D>Привет всем.

D>Я выполняю динамическую компиляцию при работе программы. Компиляция в памяти. При этом используются некие мои дополнительные библиотеки. Я указываю к ним путь и компиляция проходит нормально. Но при выполнении кода, вызывающего что-то из этих библиотек возникает исключение — она тупо не находит эти библиотеки. Если их бросаешь в один каталог с программой — все нормально. Есть ли возможность указать их расположение. Какие библиотеки будут использованы заранее неизвестно.

В чем проблема держать все в одном каталоге?
Кодом людям нужно помогать!
Re[2]: Ошибка при загрузки сборок
От: Didi  
Дата: 20.03.15 18:59
Оценка:
S>В чем проблема держать все в одном каталоге?

Хотел держать их в каталоге ./Plugin — что никак не решается?
Re: Ошибка при загрузки сборок
От: codenet Россия  
Дата: 20.03.15 19:04
Оценка:
Здравствуйте, Didi, Вы писали:

D>Привет всем.

D>Я выполняю динамическую компиляцию при работе программы. Компиляция в памяти. При этом используются некие мои дополнительные библиотеки. Я указываю к ним путь и компиляция проходит нормально. Но при выполнении кода, вызывающего что-то из этих библиотек возникает исключение — она тупо не находит эти библиотеки. Если их бросаешь в один каталог с программой — все нормально. Есть ли возможность указать их расположение. Какие библиотеки будут использованы заранее неизвестно.

На 100% не уверен,но можно попробовать перед загрузкой библиотеки сделать SetCurrentDirectory(путь до остальных дллок), возможно он попробует поискать их там перед загрузкой
но если dll,раскиданы по диску,попробовать регистрацию в gac.

Если dll'ок много и не хочется создавать в гаке помойку, тогда самому интересно послушать мнение,других ребят ,какие варианты есть еще
Re: Ошибка при загрузки сборок
От: codenet Россия  
Дата: 20.03.15 19:16
Оценка: 9 (1) +4
Здравствуйте, Didi, Вы писали:

D>Привет всем.

D>Я выполняю динамическую компиляцию при работе программы. Компиляция в памяти. При этом используются некие мои дополнительные библиотеки. Я указываю к ним путь и компиляция проходит нормально. Но при выполнении кода, вызывающего что-то из этих библиотек возникает исключение — она тупо не находит эти библиотеки. Если их бросаешь в один каталог с программой — все нормально. Есть ли возможность указать их расположение. Какие библиотеки будут использованы заранее неизвестно.

забыл добавить еще 1 вариант

можно попробовать подписаться на событие
AppDomain.CurrentDomain.AssemblyResolve

и в нем разрезолвить то что не загрузилось
Re: Ошибка при загрузки сборок
От: Pavel Dvorkin Россия  
Дата: 21.03.15 13:10
Оценка: 82 (3)
Здравствуйте, Didi, Вы писали:

D>Привет всем.

D>Я выполняю динамическую компиляцию при работе программы. Компиляция в памяти. При этом используются некие мои дополнительные библиотеки. Я указываю к ним путь и компиляция проходит нормально. Но при выполнении кода, вызывающего что-то из этих библиотек возникает исключение — она тупо не находит эти библиотеки. Если их бросаешь в один каталог с программой — все нормально. Есть ли возможность указать их расположение. Какие библиотеки будут использованы заранее неизвестно.

http://stackoverflow.com/questions/1892492/c-sharp-set-custom-path-to-referenced-dlls
With best regards
Pavel Dvorkin
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.