关于castel

0 views
Skip to first unread message

寻路者

unread,
Dec 7, 2006, 2:18:29 AM12/7/06
to NBear Google Group
接口
namespace Mowom.Manage.Bussiness.ServiceInterface
{
public interface IUserService :IServiceInterface
{
T_User Login(string user_ID, string PWD);
}
}
实现类
namespace Mowom.Manage.Bussiness.ServiceClass
{
class CUserService:IUserService
{
public T_User Login(string user_ID, string PWD)
{
try
{
return Gateway.Default.Find<T_User>((user_ID ==
T_User._.User_ID) & (PWD == T_User._.PWD));
}
catch
{
return null;
}
}
#endregion
}
我写的castel配置
<component id="User service"
service="Mowom.Manage.Bussiness.ServiceInterface.IUserService,ServiceInterface"


type="Mowom.Manage.Bussiness.ServiceClass.CUserService,ServiceClass"/>
当使用
ServiceFactory factory = ServiceFactory.Create();
IUserService user = factory.GetService<IUserService>();
编译出现Mowom.Manage.Bussiness.ServiceInterface.IUserService"必须可转换为"NBear.IoC.Service.IServiceInterface"才能用作泛型类型或方法"NBear.IoC.Service.ServiceFactory.GetService<IServiceInterfaceType>()"中的参数"IServiceInterfaceType"
这是什么原因?

Teddy

unread,
Dec 7, 2006, 2:25:01 AM12/7/06
to nbear...@googlegroups.com
可能的原因是你编译IUserService 的NBear版本和编译实际使用ServiceFactory的工程的NBear的dll的版本不一致。你可以比较一下两个工程的bin目录下的NBear的dll的版本,估计不一样,就会报这个错。因为NBear是强名称签名的,不同版本的IServiceInterface类会被认为是完全不同的两个类。
 
Teddy

 
Reply all
Reply to author
Forward
0 new messages