C# Unity容器不适用于强类型程序集

C# Unity容器不适用于强类型程序集,c#,.net,dependency-injection,unity-container,.net-assembly,C#,.net,Dependency Injection,Unity Container,.net Assembly,我正在尝试使用Unity注册一个类型: Container.RegisterType<ICommonInterfaceType, MyTypedClass>("Name001"); Container.RegisterType(“Name001”); 这里,MyTypedClass位于用snk签名的程序集中。因此,当我尝试解决此问题时,会出现以下错误: 其他信息:无法加载文件或程序集“NM.Common.Interface,Version=1.0.0.0,Culture=ne

我正在尝试使用Unity注册一个类型:

  Container.RegisterType<ICommonInterfaceType, MyTypedClass>("Name001");
Container.RegisterType(“Name001”);
这里,
MyTypedClass
位于用snk签名的程序集中。因此,当我尝试解决此问题时,会出现以下错误:

其他信息:无法加载文件或程序集“NM.Common.Interface,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null”或其依赖项之一。 需要具有强名称的程序集。(来自HRESULT的异常:0x80131044)


如果我删除了“签名程序集”选项,它将正常工作。但是,Unity是否有办法解析强签名程序集。

我没有看到采用单个字符串参数的IUnityContainer.RegisterType的非泛型重载。你能发布一个完整的例子吗?@lesscode,我确实发布了完整的代码,但看起来stack oveflow有问题。如果单击编辑,则会显示完整代码Container.RegisterType(“Name001”);我现在编辑它nm.Common.Interface是第三个程序集(与包含MyTypedClass的程序集分开)?如果公共程序集也是强名称?@lesscode,MyTypedClass是强类型的,但是NM.common.Interface(ICommonInterfaceType)程序集不是强类型的。在这种情况下,它与Unity无关。如果执行此操作,则会出现相同的错误:ICommonInterfaceType x=new MyTypedClass()。强名称程序集只能引用其他强名称程序集。我没有看到采用单个字符串参数的IUnityContainer.RegisterType的非泛型重载。你能发布一个完整的例子吗?@lesscode,我确实发布了完整的代码,但看起来stack oveflow有问题。如果单击编辑,则会显示完整代码Container.RegisterType(“Name001”);我现在编辑它nm.Common.Interface是第三个程序集(与包含MyTypedClass的程序集分开)?如果公共程序集也是强名称?@lesscode,MyTypedClass是强类型的,但是NM.common.Interface(ICommonInterfaceType)程序集不是强类型的。在这种情况下,它与Unity无关。如果执行此操作,则会出现相同的错误:ICommonInterfaceType x=new MyTypedClass()。强名称程序集只能引用其他强名称程序集。