0

私のアプリケーションでは、.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 フォルダーにあります。

これを解決するのを手伝ってください....

4

1 に答える 1

0

通常、これは構成の問題です。単純なケーシングの問題か、誤ったコンポーネント宣言のいずれかである可能性があります。

于 2012-08-20T21:54:11.097 に答える