Полное разрешение типов в .NET

Простой вопрос (возникает в SharePoint 2010, но не совсем актуален).

Как:

<add name="LdapMembershipProvider" type="Microsoft.Office.Server.Security.LdapMembershipProvider, Microsoft.Office.Server, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" 

...разрешить, когда фактический тип (LdapMembershipProvider) находится только в сборке Microsoft.Office.Server.UserProfiles, а не в Microsoft.Office.Server сборка?

Оба зарегистрированы в GAC.

Проверяет ли Fusion другие сборки, даже если указан полный тип?


person Nariman    schedule 13.07.2010    source источник
comment
Что такое токен открытого ключа обеих сборок?   -  person Adam Houldsworth    schedule 14.07.2010
comment
Маркер открытого ключа одинаков для обеих сборок: 71e9bce111e9429c.   -  person Nariman    schedule 14.07.2010


Ответы (2)


Перенаправление привязки сборки?

MSDN — перенаправление привязки сборки?

Вы можете перенаправить ссылку привязки сборки на другую версию сборки, используя записи в файлах конфигурации приложения или компьютера. Вы можете перенаправлять ссылки на сборки .NET Framework, сторонние сборки или сборки вашего собственного приложения.

person Ryan    schedule 13.07.2010
comment
Привет Райан; Я не думаю, что это связано с перенаправлением привязки (используется для перенаправления на другую версию сборки, а не на другую сборку вместе). - person Nariman; 14.07.2010
comment
Хм - я предполагал, что вы можете делать не только версию, но и шрифт. Понижение моего собственного ответа! Я думаю, пришло время взломать средство просмотра журнала Fusion msdn.microsoft .com/en-us/library/e74a18c4(VS.71).aspx + Сюзанна Кук — первый блоггер, который обратился к этому специалисту, который глубоко погрузился во внутренние дела. blogs.msdn.com/b/suzcook - person Ryan; 15.07.2010

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

Я читал следующую ссылку MSDN:

http://msdn.microsoft.com/en-us/library/system.reflection.assemblyname.aspx

Выдержка, которая звучит подозрительно:

Можно указать открытый ключ и пару ключей с несовместимыми значениями. Это может быть полезно в сценариях разработчиков. В этом случае открытый ключ, полученный с помощью GetPublicKey, указывает правильный открытый ключ, а KeyPair указывает открытый и закрытый ключи, используемые во время разработки. Когда среда выполнения обнаруживает несоответствие между KeyPair и открытым ключом, она ищет в реестре правильный ключ, соответствующий открытому ключу.

Точно сказать не могу. Одно поведение, которое сразу приходит на ум, но я не могу подтвердить, заключается в том, что если ему не удается найти тип в сборке, вы указываете в конфигурации, он пытается найти его через ссылки на ваш проект.

person Adam Houldsworth    schedule 14.07.2010