2016-05-19 8 views
2

Я использую два консольных приложения A1.exe и A2.exe, используя ClassLibrary версии 1.0.0.0 и 2.0.0.0 соответственно, у меня есть соответствующие библиотеки классов, установленные в GAC, как показано в экран, но когда я запускаю «A1.exe», он не может найти версию 1.0.0.0, точная ошибка находится на снимке экрана,Адреса DLL не работают должным образом в CLR

DLL HELL problem Почему это? Как устранить проблему?

+2

Ваши скриншоты не полезны. Покажите трассировку Fuslogvw.exe. –

+0

Fuslog не требуется. Ниже приводится ответ Алекса: – MickyD

+0

@HansPassant - как получить трассировку Fuslogvw.exe? –

ответ

2

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

Fix - ссылка для правильной сборки.

+0

, если его не-сильно подписанная сборка не пойдет в местоположение GAC, он выкинет ошибку «Ошибка добавления сборки в кэш: попытка установки сборки без сильного имени» –

+1

@ user3682248 проблема не в сборка в GAC (которая, как мы все согласны, должна быть сильной), скорее, когда вы создаете ** a1.exe ** и ** a2.exe **, они не привязаны к сильной названной библиотеке. Я подозреваю, что вы сильно назвали событием post build – MickyD

+0

@MickyD - вы правы, связь была неправильной, исправлено, спасибо всем –

 Смежные вопросы

  • Нет связанных вопросов^_^