这是一个C#Asp.net MVC项目。
我目前在global.asax.cs中设置了Unity映射。我想将容器设置从代码移动到web.config。
我自己的类型一切都很好,但现在我需要翻译这一行:
container.RegisterInstance(System.Web.Security.Membership.Provider);
(所有其他配置行都是container.Register Type )。
我根本没有走得太远。 如果我甚至包括
<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复制到bin文件夹,我可以继续,并解决问题的关键:如何RegisterInstance System.Web.Security.MembershipProvider - &gt; System.Web.Security.Membership.Provider?
<type type="MembershipProvider" mapTo="System.Web.Security.Membership.Provider, System.Web"></type>
给出:
无法从程序集“System.Web”加载“System.Web.Security.Membership.Provider”类型。
如预期的那样,因为它不是一种类型。
感谢您的任何指示。
答案 0 :(得分:5)
您是否尝试过较长的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”中间。