2013-08-21 21 views
0

我一直在努力通過部署一個ASP.NET MVC的網站,IIS 7.5,和我遇到了以下錯誤消息:EntLibContrib.Data.OdpNet.OracleDatabase不解析

[ArgumentException: The type 'EntLibContrib.Data.OdpNet.OracleDatabase, EntLibContrib.Data.OdpNet, Version=5.0.505.0, Culture=neutral, PublicKeyToken=null' cannot be resolved. Please verify the spelling is correct or that the full type name is provided.] 
    Microsoft.Practices.EnterpriseLibrary.Common.Configuration.AssemblyQualifiedTypeNameConverter.ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, Object value) +189 
    Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DbProviderMapping.get_DatabaseType() +48 
    Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSyntheticConfigSettings.GetDatabaseData(ConnectionStringSettings connectionString, DatabaseSettings databaseSettings) +38 
    Microsoft.Practices.EnterpriseLibrary.Data.Configuration.<get_Databases>d__0.MoveNext() +272 
    System.Collections.Generic.List`1..ctor(IEnumerable`1 collection) +460 
    System.Linq.Enumerable.ToList(IEnumerable`1 source) +58 
    Microsoft.Practices.EnterpriseLibrary.Data.Configuration.<DoGetRegistrations>d__10.MoveNext() +137 
    System.Linq.WhereSelectEnumerableIterator`2.MoveNext() +85 
    System.Collections.Generic.List`1..ctor(IEnumerable`1 collection) +381 
    System.Linq.Enumerable.ToList(IEnumerable`1 source) +58 
    Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSyntheticConfigSettings.GetRegistrations(IConfigurationSource configurationSource) +161 
    Microsoft.Practices.EnterpriseLibrary.Common.Configuration.ContainerModel.TypeLoadingLocator.<GetRegistrations>b__0(ITypeRegistrationsProvider p, IConfigurationSource cs) +8 
    Microsoft.Practices.EnterpriseLibrary.Common.Configuration.ContainerModel.TypeLoadingLocator.GetRegistrationsInternal(IConfigurationSource configurationSource, Func`3 registrationAccessor) +74 
    Microsoft.Practices.EnterpriseLibrary.Common.Configuration.ContainerModel.TypeLoadingLocator.GetRegistrations(IConfigurationSource configurationSource) +80 
    Microsoft.Practices.EnterpriseLibrary.Common.Configuration.ContainerModel.CompositeTypeRegistrationsProviderLocator.<GetRegistrations>b__0(ITypeRegistrationsProvider l, IConfigurationSource cs) +8 
    Microsoft.Practices.EnterpriseLibrary.Common.Configuration.ContainerModel.<>c__DisplayClass5.<GetRegistrationsInternal>b__4(ITypeRegistrationsProvider l) +16 
    System.Linq.<SelectManyIterator>d__14`2.MoveNext() +234 
    Microsoft.Practices.EnterpriseLibrary.Common.Configuration.ContainerModel.Unity.UnityContainerConfigurator.RegisterAllCore(IConfigurationSource configurationSource, ITypeRegistrationsProvider rootProvider) +127 
    Microsoft.Practices.EnterpriseLibrary.Common.Configuration.ContainerModel.ChangeTrackingContainerConfigurator.RegisterAll(IConfigurationSource configurationSource, ITypeRegistrationsProvider rootProvider) +23 
    Microsoft.Practices.EnterpriseLibrary.Common.Configuration.EnterpriseLibraryContainer.ConfigureContainer(ITypeRegistrationsProvider locator, IContainerConfigurator configurator, IConfigurationSource configSource) +19 
    Microsoft.Practices.EnterpriseLibrary.Common.Configuration.EnterpriseLibraryContainer.ConfigureContainer(IContainerConfigurator configurator, IConfigurationSource configSource) +117 
    Microsoft.Practices.EnterpriseLibrary.Common.Configuration.EnterpriseLibraryContainer.CreateDefaultContainer(IConfigurationSource configurationSource) +59 
    Microsoft.Practices.EnterpriseLibrary.Common.Configuration.EnterpriseLibraryContainer.SetCurrentContainerIfNotSet() +80 
    Microsoft.Practices.EnterpriseLibrary.Common.Configuration.EnterpriseLibraryContainer.get_Current() +5 
    InventoryScanner.DataAccess.RepositoryBase..ctor() in c:\Users\michaelj\Desktop\warehouse server\InventoryScanner\InventoryScanner\InventoryScanner.DataAccess\RepositoryBase.cs:56 
    InventoryScanner.DataAccess.ScannerRepository..ctor() in c:\Users\michaelj\Desktop\warehouse server\InventoryScanner\InventoryScanner\InventoryScanner.DataAccess\ScannerRepository.cs:18 
    InventoryScanner.Common.Logger.LogHelper..ctor() in c:\Users\michaelj\Desktop\warehouse server\InventoryScanner\InventoryScanner\InventoryScanner.Common.Logger\LogHelper.cs:26 
    InventoryScanner.Web.Filters.LogExceptionFilterAttribute..ctor() in c:\Users\michaelj\Desktop\warehouse server\InventoryScanner\InventoryScanner\InventoryScanner.Web.Filters\Filters.cs:19 
    InventoryScanner.Web.WebApiConfig.Register(HttpConfiguration config) in c:\Users\michaelj\Desktop\warehouse server\InventoryScanner\InventoryScanner\InventoryScanner.Web\App_Start\WebApiConfig.cs:45 
    InventoryScanner.Web.WebApiApplication.Application_Start() in c:\Users\michaelj\Desktop\warehouse server\InventoryScanner\InventoryScanner\InventoryScanner.Web\Global.asax.cs:21 

[HttpException (0x80004005): The type 'EntLibContrib.Data.OdpNet.OracleDatabase, EntLibContrib.Data.OdpNet, Version=5.0.505.0, Culture=neutral, PublicKeyToken=null' cannot be resolved. Please verify the spelling is correct or that the full type name is provided.] 
    System.Web.HttpApplicationFactory.EnsureAppStartCalledForIntegratedMode(HttpContext context, HttpApplication app) +9859725 
    System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext, HttpContext context, MethodInfo[] handlers) +118 
    System.Web.HttpApplication.InitSpecial(HttpApplicationState state, MethodInfo[] handlers, IntPtr appContext, HttpContext context) +172 
    System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext, HttpContext context) +336 
    System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext) +296 

[HttpException (0x80004005): The type 'EntLibContrib.Data.OdpNet.OracleDatabase, EntLibContrib.Data.OdpNet, Version=5.0.505.0, Culture=neutral, PublicKeyToken=null' cannot be resolved. Please verify the spelling is correct or that the full type name is provided.] 
    System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +9873912 
    System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +101 
    System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +254 

我的研究表明儘管它位於網站bin目錄中,EntLib的DI方面仍未正確解析EntLibContrib.Data.OdpNet.dll。

我已經谷歌和Binged的ArgumentException行和EntLibContrib.Data.OdpNet.OracleDatabase,但沒有看到任何讓我更接近我已經說過的東西。

我沒有寫這個應用程序,也沒有任何經驗或對EntLib的理解。我問上週寫過這個程序的人還沒有聽到他的消息,所以我希望有人能幫助我。

回答

0

原來這是設置的問題。不幸的是,細節從未被發現。我們重新部署了它,並且工作。

0

我與你有相同的經驗,同時運行我的網站與視覺工作室, 我運行我的網站與Visual Studio時,我得到了ArgumentException消息。

在我的情況,我從我的WebBase實現中的onLoad方法。

因此,我在發生問題的代碼中添加了一個try catch語句。其實,即使發生了一些異常,也要跳過它。

try 
{ 
    base.OnLoad(e); 
} 
catch (ArgumentException e1) 
{ 
    Console.WriteLine(e1.StackTrace); 
} 
catch (Exception e1) 
{ 
    Console.WriteLine(e1.StackTrace); 
} 

然後告訴編譯器unckecking該項目「停止時,此異常發生」忽略這個例外。就這樣。

+0

你應該發表你自己的問題,關於你的具體情況的更多細節,並自己回答。這與我的問題沒有關係,不適合作爲答案。 – Stuporman