我試圖對模塊進行更改。我無法讓網站看起來反映這些變化。我想我可能會禁用該功能,並重新啓用該功能,它會強制任何模塊緩存發生重新加載模塊。然而,它完全打破了網站,現在我甚至無法從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,但是這根本沒有任何改變。它必須由文件驅動以及數據庫持久化。
這是一個生產網站,目前正在關閉。任何幫助你可以給予不勝感激。
你應該永遠都不會更改代碼生產。如果你的改變阻止了模塊的編譯(就像這裏的情況那樣),它會使整個站點停下來。要取消阻止,請創建更改的副本,然後刪除模塊的目錄。該網站現在應該可以運行,減去該模塊的功能。修復它在開發機器上,然後部署該工作版本。 –
伯特蘭。感謝您的建議。它在我的本地開發機器上進行了編譯,並且代碼更改在本地按預期工作。我的假設是,我可以複製/覆蓋生產服務器上module/bin文件夾中的新模塊二進制文件,並且它會立即反映這些更改,就像它在正常的MVC應用程序中那樣。它甚至沒有,即使在回收應用程序池之後。您在上面看到的錯誤僅在管理員門戶中禁用該功能後纔出現,並立即發生。 –
通過部分文件複製進行部署可能會以許多不同的細微方式失敗。動態編譯可能在目標上打開或關閉,你的app_data/Dependencies可能需要刪除等。在部署之前發佈或構建預編譯通常是一個好主意。 –