我正在尝试整理朋友服务。基本上,一旦我在构造函数中启动它就会出错。这是代码片段。
public class DefaultCacheManager : ICacheManager
{
private readonly Microsoft.Practices.EnterpriseLibrary.Caching.ICacheManager _cacheManager;
public DefaultCacheManager()
{
//Code blows here
_cacheManager = CacheFactory.GetCacheManager();
}
我得到的错误如下。
未处理的异常:System.TypeInitializationException:'Test.TypeManagement'的类型初始值设定项引发了异常。 ---> Microsoft.Practices.Unity.ResolutionFailedException:解析 依赖失败,type =“Test.DefaultCacheManager”,名称 =“CacheManager”。发生异常时:调用构造函数Test.DefaultCacheManager()。例外是:TypeLoadException - 可以 不加载类型 'Microsoft.Practices.EnterpriseLibrary.Common.Configuration.EnterpriseLibraryContainer' 来自程序集'Microsoft.Practices.EnterpriseLibrary.Common, Version = 6.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'。 - - - - - - - - - - - - - - - - - - - - - - - - 当时例外,容器是:
解析Test.DefaultCacheManager,CacheManager调用 构造函数Test.DefaultCacheManager()---> System.TypeLoadException: 无法加载类型 'Microsoft.Practices.EnterpriseLibrary.Common.Configuration.EnterpriseLibraryContainer' 来自程序集'Microsoft.Practices.EnterpriseLibrary.Common, Version = 6.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'。
在 Microsoft.Practices.EnterpriseLibrary.Caching.CacheFactory.InnerGetCacheManager(字符串 cacheManagerName)在Test.DefaultCacheManager..ctor()中 c:\ Test \ CacheManager.cs:lambda_method第12行(Closure, IBuilderContext)at Microsoft.Practices.ObjectBuilder2.DynamicBuildPlanGenerationContext<> c__DisplayClass1.b__0(IBuilderContext 上下文) Microsoft.Practices.ObjectBuilder2.BuildPlanStrategy.PreBuildUp(IBuilderContext 上下文) Microsoft.Practices.ObjectBuilder2.StrategyChain.ExecuteBuildUp(IBuilderContext 上下文)在Microsoft.Practices.Unity.UnityContainer.DoBuildUp(Type t,Object existing,String name,IEnumerable1 resolverOverrides)
1 resolverOverrides)at Microsoft.Practices.Unity.UnityContainer.DoBuildUp(Type t,String name,IEnumerable`1 resolverOverrides)at Microsoft.Practices.Unity.UnityContainerExtensions.Resolve [T](IUnityContainer 容器,字符串名称,ResolverOverride []覆盖)at Test.TypeManagement.get_CacheManager()in c:\ Test \ TypeManagement.cs:Test.TypeManagement..cctor()中的第56行 在c:\ Test \ TypeManagement.cs中:第36行---内部异常结束 堆栈跟踪---在Test.TypeManagement.get_ServiceHost()处 C:\ Test \ ThreadManager.cs中的Test.ThreadManager.Start():第19行 c:\ Test \ Program.cs中的Test.Program.Main(String [] args):第14行
--- End of inner exception stack trace --- at Microsoft.Practices.Unity.UnityContainer.DoBuildUp(Type t, Object existing, String name, IEnumerable
任何帮助和指导都会受到欢迎。
配置
<configSections>
<section name="cachingConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Caching.Configuration.CacheManagerSettings, Microsoft.Practices.EnterpriseLibrary.Caching, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="true" />
</configSections>
<cachingConfiguration defaultCacheManager="Cache Manager">
<cacheManagers>
<add expirationPollFrequencyInSeconds="60" maximumElementsInCacheBeforeScavenging="1000" numberToRemoveWhenScavenging="10" backingStoreName="Data Cache Storage" name="Cache Manager" />
</cacheManagers>
<backingStores>
<add databaseInstanceName="CachingStaging" partitionName="CS" encryptionProviderName="" type="Microsoft.Practices.EnterpriseLibrary.Caching.Database.DataBackingStore, Microsoft.Practices.EnterpriseLibrary.Caching.Database, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null" name="Data Cache Storage" />
</backingStores>
</cachingConfiguration>