我遇到有关Microsoft.Practices.Unity.ResolutionFailedException。
的问题如果我手动启动,它可以正常工作。
但是当我尝试通过Windows任务调度程序启动时,
它说
' ResolutionFailedException未处理'
依赖关系的解决方法失败,输入=" MainPresenter",name ="(none)"。 发生异常时:调用构造函数XX.Main()。 例外情况是:FormatException - 输入字符串的格式不正确。
这是我的代码:
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
using (IUnityContainer container = new UnityContainer())
{
container.RegisterType<IMainView, Main>();
MainPresenter presenter = container.Resolve<MainPresenter>();
Application.Run((Form)presenter.View);
}
主要代码:
public partial class Main : Form, IMainView
{
public Main()
{
}
}
IMainView代码:
public interface IMainView
{
}
MainPresenter代码:
public class MainPresenter
{
public MainPresenter( IMainView view )
{
this.view = view;
}
public IMainView View
{
get { return view; }
}
private readonly IMainView view;
}
程序代码:
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
///
[STAThread]
static void Main()
{
bool bNew;
Mutex mutex = new Mutex(true, "XX", out bNew);
if (bNew)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
using (IUnityContainer container = new UnityContainer())
{
container.RegisterType<IMainView, Main>();
MainPresenter presenter = container.Resolve<MainPresenter>();
Application.Run((Form)presenter.View);
}
}
else
{
Application.Exit();
}
}
}
感谢。