我正在使用C#.Net 4.7.2和PRISM Unity 6.2.0
由于几个小时明确地不再识别一个dll。文件夹的路径正确。该文件夹中包含dll,其中包含从IModule派生的类。
bootstrapper类中完全相同的例程适用于应识别的任何其他dll,也确实适用于该特定dll。我什至没有更改过dll。
通过记录器将每条消息写入输出窗口的方式。甚至没有提到此特定dll的文件夹路径或文件名。
未将模块配置为按需加载(这是应用程序的重要组成部分)。完全没有引用来警告构建成功而没有任何警告或错误。
有人知道吗,怎么了?
非常感谢您!
编辑: 不能识别的dll不是问题。通过在另一个dll中注册类型会发生问题。
注册看起来像这样
container.RegisterType<IMyInterface , MyClass>( "FancyName" );
容器是一个IUnityContainer,它可以正常工作。其他注册工作正常。
界面看起来像这样
public interface IMyInterface
{
void InitializeComponent();
}
班级看起来像这样
public partial class MyClass: Page, IMyClass
{
public MyClass()
{
InitializeComponent();
}
}
Page 是System.Windows.Controls.Page
DiagnosticTools的事件窗口显示以下异常:
引发的异常:Prism.Wpf.dll中的“ System.TypeLoadException”(程序集“ MyAssembly的类型” MyNameSpace.IMyInterface”,版本= 1.0.0.0,区域性=中性,PublicKeyToken =空”无法加载。“)
请问有人可以帮忙吗?