私のアプリケーションでは、.net 4.0、iis 7.0、および城のウィンザーの古いバージョンを使用しました。現在、iis 7.0 を 7.5 に変更するだけで、このアプリを新しいマシンに移動しています。
しかし、新しいサーバーにアプリをデプロイすると、アプリケーションエラーが発生して機能しません。
エラーの詳細。
Error Message :The type name Platform.Data.VisualDao, Platform.Data could not be located
Stack Trace : at Castle.Windsor.Installer.DefaultComponentInstaller.ObtainType(String typeName)
at Castle.Windsor.Installer.DefaultComponentInstaller.SetUpComponents(IConfiguration[] configurations, IWindsorContainer container)
at Castle.Windsor.Installer.DefaultComponentInstaller.SetUp(IWindsorContainer container, IConfigurationStore store)
at Castle.Windsor.WindsorContainer.RunInstaller()
at Castle.Windsor.WindsorContainer..ctor(IConfigurationInterpreter interpreter)
at Platform.Data.DaoFactory..cctor() in D:\DaoFactory.cs:line 21
Base Exception : System.Configuration.ConfigurationErrorsException: The type name Platform.Data.VisualDao, Platform.Data could not be located
at Castle.Windsor.Installer.DefaultComponentInstaller.ObtainType(String typeName)
at Castle.Windsor.Installer.DefaultComponentInstaller.SetUpComponents(IConfiguration[] configurations, IWindsorContainer container)
at Castle.Windsor.Installer.DefaultComponentInstaller.SetUp(IWindsorContainer container, IConfigurationStore store)
at Castle.Windsor.WindsorContainer.RunInstaller()
at Castle.Windsor.WindsorContainer..ctor(IConfigurationInterpreter interpreter)
at Platform.Data.DaoFactory..cctor() in D:DaoFactory.cs:line 21
コード:
internal class DaoFactory : IDaoFactory
{
static ILog _logger = LogManager.GetLogger("DaoFActory");
private readonly static Dictionary<Type, object> _daoRegistry;
static DaoFactory()
{
_logger.Debug("Starting cctor");
// TODO Implement this Dynamically
string daoConfigFile = ConfigurationManager.AppSettings["daoComponents"];
_logger.Debug("Path"+daoConfigFile);
_logger.Debug("Initilizing container");
IWindsorContainer container = new WindsorContainer(new XmlInterpreter(daoConfigFile));
_logger.Debug("Initilized....Creating reg");
_daoRegistry = new Dictionary<Type, object>();
_daoRegistry[typeof(IPMUserDao)] = container.Resolve("pmUserDao");
_daoRegistry[typeof(IPMRoleDao)] = container.Resolve("pmRoleDao");
}
}
コンテナを初期化しているときに例外が発生します:
IWindsorContainer コンテナ = new WindsorContainer(new XmlInterpreter(daoConfigFile));
daoConfigfile は、Platform.data を取得している場所からの xml ファイルのパスです。
platform.data は bin フォルダーにあります。
これを解決するのを手伝ってください....