To jest projekt C # Asp.net MVC.
Aktualnie mam mapowania Unity ustawione w pliku global.asax.cs. Chciałbym przenieść ustawienia kontenera z kodu do pliku web.config.
Wszystko poszło dobrze z moimi własnymi typami, ale teraz muszę przetłumaczyć tę linię:
container.RegisterInstance (System.Web.Security.Membership.Provider);
(Wszystkie pozostałe wiersze konfiguracji to container.RegisterRodzaj).
Nie jestem wcale bardzo daleko. Jeśli nawet dołączę
<typeAliases>
<!-- others elided -->
<typeAlias
alias="MembershipProvider"
type="System.Web.Security.MembershipProvider, System.Web"></typeAlias>
umiera z błędem konfiguracji:
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.
To jest dość dziwne - wygląda na to, że nie szuka w GAC tego rozwiązania? Czy System.Web nie jest jeszcze w Appdomain?
Jeśli ręcznie skopiuję System.Web do folderu bin Mogę kontynuować i dotrzeć do sedna problemu: w jaki sposób RegisterInstance System.Web.Security.MembershipProvider -> System.Web.Security.Membership.Provider?
<type type="MembershipProvider" mapTo="System.Web.Security.Membership.Provider, System.Web"></type>
daje:
Nie można załadować typu "System.Web.Security.Membership.Provider" z zespołu "System.Web".
zgodnie z oczekiwaniami, ponieważ nie jest to typ.
Dzięki za wszelkie wskazówki.
Odpowiedzi:
5 dla odpowiedzi № 1czy próbowałeś już dłuższego odniesienia do Assembliy?
System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Więc w twoim przypadku będziesz miał linię
<type type="MembershipProvider" mapTo="System.Web.Security.MembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"></type>
Również woth wspominając, że miałeś. w środku "MembershipProvider" w twoim drugim przykładzie.