0

DNNを最新バージョンに更新した後、私のサイトが機能していません。デバッグを行っているので、テーマに関連した問題だと思います。しかし、それ以上絞り込むことはできません。

私のサイトからの現在のスタックトレースは次のようになります。

[NullReferenceException: Object reference not set to an instance of an object.]
    DotNetNuke.UI.Containers.ActionBase.get_ModuleContext() +6
    DotNetNuke.UI.Containers.ActionBase.get_ActionRoot() +30
    DotNetNuke.UI.Containers.ActionBase.OnLoad(EventArgs e) +42

[ModuleLoadException: An error has occurred.]
    DotNetNuke.Services.Exceptions.Exceptions.ProcessModuleLoadException(String FriendlyMessage, Control ctrl, Exception exc, Boolean DisplayErrorMessage) +400

[PageLoadException: An error has occurred.]
    DotNetNuke.Services.Exceptions.Exceptions.ProcessPageLoadException(Exception exc, String URL) +323
    DotNetNuke.Services.Exceptions.Exceptions.ProcessPageLoadException(Exception exc) +89
    DotNetNuke.Services.Exceptions.Exceptions.ProcessModuleLoadException(String FriendlyMessage, Control ctrl, Exception exc, Boolean DisplayErrorMessage) +525
    DotNetNuke.Services.Exceptions.Exceptions.ProcessModuleLoadException(Control ctrl, Exception exc, Boolean DisplayErrorMessage) +189
    DotNetNuke.Services.Exceptions.Exceptions.ProcessModuleLoadException(Control ctrl, Exception exc) +40
    DotNetNuke.UI.Containers.ActionBase.OnLoad(EventArgs e) +85
    DotNetNuke.Web.DDRMenu.Actions.OnLoad(EventArgs e) +67
    System.Web.UI.Control.LoadRecursive() +50
    System.Web.UI.Control.LoadRecursive() +141
    System.Web.UI.Control.LoadRecursive() +141
    System.Web.UI.Control.LoadRecursive() +141
    System.Web.UI.Control.LoadRecursive() +141
    System.Web.UI.Control.LoadRecursive() +141
    System.Web.UI.Control.LoadRecursive() +141
    System.Web.UI.Control.LoadRecursive() +141
    System.Web.UI.Control.LoadRecursive() +141
    System.Web.UI.Control.LoadRecursive() +141
    System.Web.UI.Control.LoadRecursive() +141
    System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +627

[PageLoadException: An error has occurred.]
    DotNetNuke.Services.Exceptions.Exceptions.ProcessPageLoadException(Exception exc, String URL) +323
    DotNetNuke.Framework.PageBase.OnError(EventArgs e) +450
    System.Web.UI.Page.HandleError(Exception e) +84
    System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +6776
    System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +242
    System.Web.UI.Page.ProcessRequest() +80
    System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context) +21
    System.Web.UI.Page.ProcessRequest(HttpContext context) +49
    ASP.default_aspx.ProcessRequest(HttpContext context) in c:\windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\84194812\86a29f2c\App_Web_toxjy2nh.0.cs:0
    System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +181
    System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +75

これから、DDRMenuコンポーネントと関係があることがわかります。私はこのサイトで自分のスキンを試しましたが、まったく同じ行がSolPartMenu/Actionについて何かを示しています。

ヘルプは大歓迎です!

4

2 に答える 2

1

6.xへの移行のテスト中に同じ問題が発生し、最新バージョンのDDRメニューが必要ですが、ログインできないため、インストールできないと思われます。

どのステップを切り取ることができるかはわかりませんが、これは私が行ったことです。

  1. バックアップから5.6.3に戻す
  2. ホスト設定で圧縮をオフにする
  3. 最小エクストロピーをデフォルトスキンとして設定
  4. en-USをデフォルト言語として設定します(これが必要かどうかはわかりません。これは1回のアップグレード用であり、現在はメジャーアップグレード用に行う傾向があります)
  5. DNNNavをweb.configのデフォルトのナビゲーションプロバイダーとして設定します
  6. 使用するコンテナを変更します<%@ Register TagPrefix = "dnn" TagName = "ACTIONS" Src = "〜/ Admin / Containers / Actions.ascx"%>
  7. DDRmenu1.2.2をアンインストールします
  8. web.configでDDRMenuNavigationProviderを削除します
  9. データベースとファイルシステムの新しいバックアップを作成します
  10. 6.xにアップグレードします
  11. DDRメニューv2.00.0にアップグレードします
  12. .Net4を使用するようにアプリケーションプールを設定します
  13. スキンを数ページに再適用して、すべての動作を確認します。問題がなければ、デフォルトのスキンをリセットします。
  14. 必要に応じて圧縮とデフォルト言語をリセットします

お役に立てれば

于 2011-11-21T08:16:22.230 に答える
0

表示されている問題は、DNN Upgrader の実行方法と新しい DDR メニューのアップグレード方法との競合が原因です。DNN アップグレーダーは DDRMenu.dll を bin ディレクトリにプッシュしますが、そのための IUpgrade コードを実行しないため、DLL、コード、および web.config の設定が一致しません。DDR メニューの次のバージョンでは、この問題が解決されるはずです。

Barry の推奨事項は、私が行うよりも多くの手順を踏むことになりますが、問題を解決するはずです。最初に試すのは、新しい DDRMenu DLL (DotNetNuke.Web.DDRMenu.dll) をアップグレード前の古いものに置き換えて、サイトが動作するかどうかを確認することです。そうであれば、DDRMenu の最新バージョンをインストールすることができます。

それでもうまくいかない場合は、通常、アップグレード前のコードと問題が解決するまでスムーズに進んだ DNN 6.1.1 の適切なインストールの前に、コードと設定の組み合わせを試します。もっと具体的な答えがあればよかったのですが、私はたいてい急いでいるので(サイトがダウンしているため)、より科学的なアプローチを書く時間がありません.

繰り返しになりますが、これは DDR メニューの次のバージョンで解決されるはずであり、この問題は DDR メニューを既に使用しているサイトにのみ影響します。それでも、本来あるべきほどスムーズではありません。

于 2011-11-26T04:38:05.590 に答える