我试图对模块进行更改。我无法让网站似乎反映出这些变化。我以为我可能会禁用该功能,并重新启用该功能,它会强制执行任何模块缓存以重新加载模块。但是,它完全打破了网站,现在我甚至无法从orchard.exe命令行工具启用该功能。我得到了同样的错误。它基本上是Autofac抱怨它无法找到属于该功能的类型。但是,如果删除该功能,我不知道它仍在尝试加载的位置/原因。
例外:
None of the constructors found with 'Orchard.Environment.AutofacUtil.DynamicProxy2.ConstructorFinderWrapper' on type 'RCAM.Products.Drivers.FeaturedProductsWidgetPartDriver' can be invoked with the available services and parameters:
Cannot resolve parameter 'RCAM.Products.Services.IProductService productService' of constructor 'Void .ctor(RCAM.Products.Services.IProductService)'.
我无法进入管理门户重新启用该功能。我无法使用命令行工具。我尝试在数据库中将[Settings_ShellFeatureStateRecord]设置为Up,但这根本没有改变任何内容。它必须是文件驱动的,并且数据库是持久的。
这是一个生产网站,目前正在关闭。您将给予的任何帮助将不胜感激。
答案 0 :(得分:0)
如果您在生产网站上直接更改了代码,或者在正确部署后崩溃了,那么您的问题并不清楚,所以这是我的两分钱:
如果您在实时环境中对模块进行了更改,则应删除 App_Data / Dependencies -Folder中的内容。无需重新启用该模块。
只有在Dynamic Module loader禁用{{3}}时才能使用此功能,但这应该在生产环境中完成。
否则,请确保您的模块实际编译。您可能应该将模块添加到 Orchard.Web 的构建依赖项中,以确保每次在开发计算机上运行Orchard时它都会重新编译。
要删除该功能,而不是仅仅禁用它,应该足够删除您的模块文件夹并从 App_Data / Dependencies
中删除 YourModule.dll