Това е проект на C # Asp.net MVC.
Понастоящем получих картите на Unity, създадени в global.asax.cs. Исках да премести настройката на контейнера от код към web.config.
Всичко е наред с моите собствени типове, но сега трябва да преведа този ред:
container.RegisterInstance (System.Web.Security.Membership.Provider);
(Всички останали конфигурационни линии са контейнерТип).
Не ме стига много далеч. Ако дори включа
<typeAliases>
<!-- others elided -->
<typeAlias
alias="MembershipProvider"
type="System.Web.Security.MembershipProvider, System.Web"></typeAlias>
тя умира с конфигурационна грешка:
The value of the property "type" cannot be parsed. The error is: Could not load file or assembly "System.Web" or one of its dependencies. The system cannot find the file specified.
Така че това е доста странно - изглежда, че не търси в GAC да го разреши? Или System.Web все още не е в appdomain?
Ако ръчно копирам системата.Уеб в папката за бин мога да продължим и да стигнем до основната тема на въпроса: как да си регистрирате System.Web.Security.MembershipProvider -> System.Web.Security.Membership.Provider?
<type type="MembershipProvider" mapTo="System.Web.Security.Membership.Provider, System.Web"></type>
дава:
Типът "System.Web.Security.Membership.Provider" не можа да се зареди от монтаж "System.Web".
както се очаква, тъй като това не е вид.
Благодаря за указанията.
Отговори:
5 за отговор № 1опитали ли сте по-дългото справка за Assembliy?
System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Така че във вашия случай ще имате линия като
<type type="MembershipProvider" mapTo="System.Web.Security.MembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"></type>
Също така споменава, че сте имали. в средата на "MembershipProvider" във вашия втори пример.