我一直在尝试使用 SystemWrapper 来模拟文件 IO 和我正在为其编写自己的包装器的其他标准 MS 方法。但是,我发现我正在使用的国际奥委会温莎城堡存在问题。
我正在专门使用实现它的 IDirectoryInfo 和 DirectoryInfoWrap。我已经像任何其他界面一样注册了:
container.Register(Component.For<IDirectoryInfo, DirectoryInfoWrap>());
我什至这样做过:
container.Register(Component.For<IDirectoryInfo>().ImplementedBy<DirectoryInfoWrap>());
但是当我运行我的应用程序时,我得到了这个:
无法创建组件“SystemWrapper.IO.DirectoryInfoWrap”,因为它需要满足依赖关系。
“SystemWrapper.IO.DirectoryInfoWrap”正在等待以下依赖项: - 未注册的服务“System.IO.DirectoryInfo”。- 未提供参数“路径”。你忘记设置依赖了吗?
这对我来说毫无意义。为什么认为常规 DIrectoryInfo 是需要注册的“服务”?对于傻笑,我尝试使用 DirectoryInfoWrap 注册 DirectoryInfo 但这给了我这个:
System.IO.DirectoryInfo 和 SystemWrapper.IO.DirectoryInfoWrap 类型不相关。这是不允许的。您确定要让它们在同一个组件上同时提供服务吗?参数名称:x
如果有人以前解决过这个问题,请告诉我。如果不能,那么我将继续手工编写包装器。
谢谢