1

我有一个带有 SQL DB 的 Orchard 站点,当我尝试访问该站点时,会发生以下错误:

“/”应用程序中的服务器错误。

无法使用可用的服务和参数调用类型为“BodyLogic.Physicians.Services.PhysicianService”的“Orchard.Environment.AutofacUtil.DynamicProxy2.ConstructorFinderWrapper”的构造函数:无法解析参数“BodyLogic.LegacyDb.Services.Repositories”。构造函数 'Void .ctor(BodyLogic.LegacyDb.Services.Repositories.Physicians.IPhysicianRepository, BodyLogic.LegacyDb.Services.DtoConverters.IDtoConverter)'的 Physicians.IPhysicianRepository doctorRepository'。

当我从 App_Data/Sites/... 中删除“默认”文件夹并安装新的 Orchard 时,一切运行正常,没有异常,模块也正常,但是当我将连接字符串更改为再次指向 SQL Server 时,同样的异常再次发生。

对此问题的任何帮助将不胜感激,

问候和感谢,

亚历克斯。

4

1 回答 1

3

导致错误的不是 SQL Server,而是损坏的数据。有一项功能应启用但未启用。我敢打赌是这个:BodyLogic.LegacyDb

您可能向已启用的功能添加了依赖项,对吗?如果是这样,那么您看到的是默认行为 - Orchard 不会自动启用新添加的依赖项。您需要手动执行此操作。

功能启用/禁用状态存储在 db 表中Settings_ShellFeatureStateRecord。要修复错误:

  • 打开它,
  • 找到Name等于BodyLogic.LegacyDb和的记录
  • InstallStateEnableState值都设置为Up

完成之后

  • 清除你的App_Data/cache.dat,
  • 重新启动应用程序池,您就设置好了。
于 2013-10-18T14:02:19.267 回答