由于使用反射而未生成C#命名空间(未实例化类型)

由于使用反射而未生成C#命名空间(未实例化类型),c#,reflection,namespaces,autofac,assemblies,C#,Reflection,Namespaces,Autofac,Assemblies,我得到了以下问题: 我有一个项目/命名空间ViewModels,其中包含几个viewmodel类,这些类由一个自定义属性描述,该属性包含一个接口类型,如: [Register(typeof(IMyViewModel))] public class MyViewModel : IMyViewModel 在另一个项目中,我使用反射来获取具有此特定属性的所有ViewModel类型,并将它们注册到Autofac Inversion of Control-Container-like中 builder.

我得到了以下问题:

我有一个项目/命名空间ViewModels,其中包含几个viewmodel类,这些类由一个自定义属性描述,该属性包含一个接口类型,如:

[Register(typeof(IMyViewModel))]
public class MyViewModel : IMyViewModel
在另一个项目中,我使用反射来获取具有此特定属性的所有ViewModel类型,并将它们注册到Autofac Inversion of Control-Container-like中

builder.RegisterType(type).As(interfaceType);
到目前为止,它工作正常,类被注册为它们的接口类型

但是现在,如果我调用Autofac的Container.Resolve函数,就会出现一个IO错误,表示未找到某些DLL。它看起来像:

System.IO.FileNotFoundException: Could not load file or assembly '/storage/emulated/0/Android/data/MyProject/files/.__override__/de-CH/Autofac.resources.dll' 
问题似乎是,因为ViewModel项目中声明的类型都没有在任何地方直接实例化。如果我在ViewModel项目中创建一个空类并在任何地方实例化它,那么我的程序就像一个魔咒

Class1 c1 = new Class1()
所以我的问题是:

是否有更好的方法确保程序集存在,即使其中没有任何类型的直接实例化?


非常感谢:)

我很难理解错误消息与丢失的程序集的关系。所需文件是否存在?你能分享扫描和注册程序集的代码吗?您还可以共享错误消息的完整堆栈跟踪吗?