Microsoft.Practices.Unity.ResolutionFailedException に関する問題があります。
手動で開始した場合、正常に動作します。
しかし、Windowsのタスクスケジューラで起動しようとすると、
と言いました
「ResolutionFailedException は処理されませんでした」
依存関係の解決に失敗しました。タイプ = "MainPresenter"、名前 = "(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();
}
}
}
ありがとう。