未处理的异常Microsoft.Practices.Unity.ResolutionFailedException

时间:2012-10-12 20:57:11

标签: c#

我遇到有关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();
            }
        }
    }

感谢。

0 个答案:

没有答案