首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >单位错误

单位错误
EN

Stack Overflow用户
提问于 2013-08-03 17:37:13
回答 1查看 1.6K关注 0票数 0

我正在尝试运行从codeplex下载的MVC示例项目史林克尔

实际上,我在VS2012中打开了这个解决方案,并且正在编译成功。但是当我运行这个应用程序时,我会得到这个错误。

我收到一条异常错误消息,说明“在试图获取IUserRepository,key类型的实例时发生了激活错误”。

下面粘贴的是详细的异常消息

代码语言:javascript
复制
   Microsoft.Practices.ServiceLocation.ActivationException was unhandled by user code
  HResult=-2146233088
  Message=Activation error occured while trying to get instance of type IUserRepository, key ""
  Source=Microsoft.Practices.ServiceLocation
  StackTrace:
       at Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.GetInstance(Type serviceType, String key)
       at Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.GetInstance[TService]()
       at Shrinkr.Web.CreateDefaultUsers.ExecuteCore(IServiceLocator serviceLocator) in c:\Users\RON\Downloads\Shrinkr\Shrinkr.Web.Common\BootstrapperTask\CreateDefaultUsers.cs:line 19
       at System.Web.Mvc.Extensibility.BootstrapperTask.Execute(IServiceLocator serviceLocator)
       at System.Web.Mvc.Extensibility.Bootstrapper.Execute()
       at System.Web.Mvc.Extensibility.ExtendedMvcApplication.Application_Start()
  InnerException: Microsoft.Practices.Unity.ResolutionFailedException
       HResult=-2146233088
       Message=Resolution of the dependency failed, type = "Shrinkr.Repositories.IUserRepository", name = "". Exception message is: The current build operation (build key Build Key[Shrinkr.Infrastructure.EntityFramework.UserRepository, null]) failed: The parameter databaseFactory could not be resolved when attempting to call constructor Shrinkr.Infrastructure.EntityFramework.UserRepository(Shrinkr.Infrastructure.EntityFramework.IDatabaseFactory databaseFactory, Shrinkr.Infrastructure.EntityFramework.IQueryFactory queryFactory). (Strategy type BuildPlanStrategy, index 3)
       Source=Microsoft.Practices.Unity
       TypeRequested=IUserRepository
       StackTrace:
            at Microsoft.Practices.Unity.UnityContainer.DoBuildUp(Type t, Object existing, String name)
            at Microsoft.Practices.Unity.UnityContainer.DoBuildUp(Type t, String name)
            at Microsoft.Practices.Unity.UnityContainer.Resolve(Type t, String name)
            at Microsoft.Practices.Unity.UnityContainerBase.Resolve(Type t)
            at System.Web.Mvc.Extensibility.Unity.UnityAdapter.DoGetInstance(Type serviceType, String key)
            at Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.GetInstance(Type serviceType, String key)
       InnerException: Microsoft.Practices.ObjectBuilder2.BuildFailedException
            HResult=-2146233088
            Message=The current build operation (build key Build Key[Shrinkr.Infrastructure.EntityFramework.UserRepository, null]) failed: The parameter databaseFactory could not be resolved when attempting to call constructor Shrinkr.Infrastructure.EntityFramework.UserRepository(Shrinkr.Infrastructure.EntityFramework.IDatabaseFactory databaseFactory, Shrinkr.Infrastructure.EntityFramework.IQueryFactory queryFactory). (Strategy type BuildPlanStrategy, index 3)
            Source=Microsoft.Practices.ObjectBuilder2
            BuildKey=Build Key[Shrinkr.Infrastructure.EntityFramework.UserRepository, null]
            ExecutingStrategyIndex=3
            ExecutingStrategyTypeName=BuildPlanStrategy
            StackTrace:
                 at Microsoft.Practices.ObjectBuilder2.StrategyChain.ExecuteBuildUp(IBuilderContext context)
                 at Microsoft.Practices.ObjectBuilder2.Builder.BuildUp(IReadWriteLocator locator, ILifetimeContainer lifetime, IPolicyList policies, IStrategyChain strategies, Object buildKey, Object existing)
                 at Microsoft.Practices.Unity.UnityContainer.DoBuildUp(Type t, Object existing, String name)
            InnerException: System.InvalidOperationException
                 HResult=-2146233079
                 Message=The parameter databaseFactory could not be resolved when attempting to call constructor Shrinkr.Infrastructure.EntityFramework.UserRepository(Shrinkr.Infrastructure.EntityFramework.IDatabaseFactory databaseFactory, Shrinkr.Infrastructure.EntityFramework.IQueryFactory queryFactory).
                 Source=Microsoft.Practices.ObjectBuilder2
                 StackTrace:
                      at Microsoft.Practices.ObjectBuilder2.DynamicMethodConstructorStrategy.ThrowForResolutionFailed(Exception inner, String parameterName, String constructorSignature, IBuilderContext context)
                      at BuildUp_Shrinkr.Infrastructure.EntityFramework.UserRepository(IBuilderContext )
                      at Microsoft.Practices.ObjectBuilder2.DynamicMethodBuildPlan.BuildUp(IBuilderContext context)
                      at Microsoft.Practices.ObjectBuilder2.BuildPlanStrategy.PreBuildUp(IBuilderContext context)
                      at Microsoft.Practices.ObjectBuilder2.StrategyChain.ExecuteBuildUp(IBuilderContext context)
                 InnerException: Microsoft.Practices.ObjectBuilder2.BuildFailedException

感谢你的建议,让它发挥作用。

EN

回答 1

Stack Overflow用户

发布于 2013-08-04 15:51:23

严格地说,我不知道是什么问题,根据我的经验,如果您下载了一个稳定的示例,但无法运行它,大多数情况下可能是引用问题。

因此,您可以检查是否丢失了任何DLL文件,并确保它们的路径是Asset/Plugins。然后,检查Edit-ProjectSettings-Player-YourTargetPlatform-OtherSettings,确认Api兼容性级别设置为.NET2.0(默认值是子集)。

希望它能成功,祝你好运

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18035509

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档