C#Windsor.Castle异常无法实例化ApplicationName.MainWindow
当我试图运行一个使用Windsor.Castle作为DI用C#开发的应用程序时,我在启动时遇到一个异常和一个长堆栈跟踪。最后一行如下:C#Windsor.Castle异常无法实例化ApplicationName.MainWindow,c#,castle-windsor,C#,Castle Windsor,当我试图运行一个使用Windsor.Castle作为DI用C#开发的应用程序时,我在启动时遇到一个异常和一个长堆栈跟踪。最后一行如下: 位于System.Windows.Threading.ExceptionWrapper.TryCatchWhen(对象源、委托回调、对象参数、Int32 numArgs、委托catchHandler):调用目标引发了异常。示例:ComponentActivator:无法实例化ApplicationName.MainWindow 其中一项来自我的申请: 在D:\P
位于System.Windows.Threading.ExceptionWrapper.TryCatchWhen(对象源、委托回调、对象参数、Int32 numArgs、委托catchHandler):调用目标引发了异常。示例:ComponentActivator:无法实例化ApplicationName.MainWindow
其中一项来自我的申请:
在D:\Path\ApplicationName\ApplicationName\App.xaml.cs:第35行的ApplicationName.App.OnStartup(StartupEventArgs e)处
该行内容如下:
IShell mainProgram=Bootstrapper.Container.Resolve();
Bootstrapper
是一个静态类,Container
是一个静态方法,返回IWindsorContainer
的实例
IMainWindow
和IShell
在实现IWindsorInstaller
的类中注册:
container.Register(Component.For().ImplementedBy().LifestyleTransient());
container.Register(Component.For().ImplementedBy());
在开发过程中,没有出现与此错误相关的问题,并且在开发PC上启动应用程序仍然没有问题,发行版二进制文件在开发PC上运行没有问题。但是在其他PC上运行应用程序会引发异常
MainWindow.xaml.cs
只有一个带有一个参数的构造函数,IAbstractFactory
:
公共主窗口(IAbstractFactory)
{
this.InitializeComponent();
IMainViewModel mainViewModel=factory.Create();
this.Closing+=mainViewModel.OnWindowClosing;
this.DataContext=mainViewModel;
}
我试图添加一个没有参数的构造函数来检查它是否有效,但我得到了相同的错误
解决此问题的另一个尝试是注册IShell>
,而不是使用接口。在开发机器上工作,而不是在其他机器上
有人知道问题是什么以及如何解决吗?是否存在内部异常?当然是内部异常。我现在不记录。我来看看