не могу загрузить сборку с typeof (UserType). AssemblyQualifiedName - PullRequest
1 голос
/ 05 июля 2011

Я создал класс Address в сборке MyUserType.dll.Я хочу загрузить его в консольное приложение.Я попробовал код ниже ,, но это не удалось:

 //cfg.AddAssembly(typeof(Address).AssemblyQualifiedName);

Но когда я пытаюсь использовать один из других методов загрузки сборки, это успешно.

cfg.AddAssembly(Assembly.GetAssembly(typeof(Address)));
cfg.AddAssembly("MyUserType");

Ошибка сообщения:

Message = "Не удалось загрузить файл или сборку" Ordering.Data.Address, Ordering.Data, Version = 1.0.0.0, Culture = нейтральный, PublicKeyToken = null 'или одна из ее зависимостей.данное имя сборки или кодовая база недопустимы. (Исключение из HRESULT: 0x80131047) "

Почему?

Ответы [ 2 ]

1 голос
/ 05 июля 2011

Класс Ordering.Data.Address имеет ссылку на сборку, не расположенную в том же каталоге, что и библиотека, MyUserType.dll.Убедитесь, что все ссылки на сборки находятся в папке System32, GAC или в том же каталоге, что и библиотека.

0 голосов
/ 05 июля 2011

Type.AssemblyQualifiedName возвращает полное имя для типа, так как в нем возвращается FullName типа, объединенного с FullName содержащей сборку.Похоже, вы передаете это в Assembly.Load или тому подобное, так что оно явно не работает, поскольку это недопустимое имя сборки.

Чтобы использовать AssemblyQualifiedName, вам нужно передать его в нечто вроде статического Type.GetType(строка) метод, который будет правильно его анализировать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...