以下の内容はhttps://error-daizenn.hatenablog.com/entry/2026/02/02/232044より取得しました。


Rhino 8でShapeDiverが起動時にエラーになる原因と直し方.NET Framework互換警告とMissingMethodExceptionの実践対処

 

Rhino 8でShapeDiverが起動時にエラーになる原因と直し方.NET Framework互換警告とMissingMethodExceptionの実践対処

Rhino 8でGrasshopperを起動した瞬間に、ShapeDiver関連のプラグインが読み込めずエラーが連発する──この症状は「Rhinoの実行ランタイム(.NET)設定」と「ShapeDiverプラグイン側の特定バージョン不整合」が重なると、再現性高く起きます。ここでは、表示されがちな警告文や例外の意味をほどきつつ、現場で効く復旧手順を優先度順にまとめます。McNeel Forum+2www.rhino3d.com+2

起きていることを整理する(表示メッセージの意味)

今回の系統でよく出るのは次の2種類です。

  • .NET Framework Compatibility Issue
    SdRhinoStargateClient.rhpShapeDiverGltfExporter.rhp などが「現在のRhinoの.NET実行モードでは互換性に問題がある」と警告しています。Rhino 8は.NET Core系(.NET 7/8)を使うモードと、互換性のための.NET Frameworkモードを切り替えられるため、この切替とプラグインの対応状況が噛み合わないと警告が出ます。www.rhino3d.com+1

  • MissingMethodException(Method not found: AppDomain.DefineDynamicAssembly…)
    System.AppDomain.DefineDynamicAssembly(...) が見つからない、という例外です。これは「プラグイン(や内部で使うライブラリ)が想定しているAPI」と「実際にRhinoが動いている.NETランタイム」のズレで起きる典型例で、Grasshopper起動時にShapeDiver側のDI/Proxy生成(Castle DynamicProxy等)で落ちる形になりがちです。McNeel Forum+1

まず最優先:ShapeDiverの“問題が出る版”を避ける

今回の症状に関しては、ShapeDiverプラグインの特定バージョンで不具合が出て、1つ前の版に戻すと直るケースが確認されています。最短で直したい場合はここから着手するのが有効です。McNeel Forum+1

対処

  1. ShapeDiverプラグインをいったんアンインストール

  2. 一つ前の安定版を入れ直す(例:不具合報告のある版→直前の版へロールバック)

  3. Rhino起動時の「自動更新」を一時的にオフ(後述)

※「昨日まで動いていたのに急に起きた」タイプは、Rhino本体更新またはプラグイン自動更新が引き金になりやすいです。McNeel Forum

次に効く:Rhino 8の.NET実行モードを揃える

McNeelのRhino 8は、.NET Coreランタイム(.NET 7/8)を基本としつつ、互換性のために.NET Frameworkモードへ切り替えられます。ここがズレると、ShapeDiverの読み込みエラーが安定して出ます。www.rhino3d.com+2www.rhino3d.com+2

手順(Windows想定)

  • Rhinoのコマンドで SetDotNetRuntime を実行

  • 互換性問題が出る場合は .NET Framework互換側に切り替えて再起動
    逆に、他プラグインの都合で.NET Coreが必要なら、ShapeDiver側を“対応版”に揃える(ロールバック含む)のが現実解です。McNeel Forum+1

競合を断つ:プラグイン更新とキャッシュをいったん止める

1)Rhino起動時の自動更新を止める

プラグインが毎回更新される状態だと、直った→次回起動で再発、が起きます。ShapeDiver側でも「問題が解決するまで自動更新を外す」運用が案内されることがあります。McNeel Forum

2)PackageManager経由の再インストールを徹底

インストールが“半端に上書き”されていると、古いDLL参照が残って例外の形だけ変えて再発します。

  • ShapeDiver関連を削除

  • Rhino再起動

  • 再インストール

  • 再起動
    この順で「起動時に読み込まれるセット」を確実に入れ替えます。

Grasshopper側の切り分け:定義ファイルが引き金になるケース

「特定の.ghを入れた/開いた後から壊れた」場合、定義内のコンポーネントがShapeDiverの初期化を促し、起動時に例外が露見することがあります(コンポーネント名が例外ログに出るタイプ)。McNeel Forum

実務的な切り分け

  • Grasshopperを空の状態で起動(最近開いたファイルを読み込ませない)

  • それで起動が安定するなら、問題の定義を開く前に

    • ShapeDiverの版

    • Rhinoの.NETモード
      を先に固定してから段階的に読み込む

それでも直らない時の“最後に効く”復旧ルート

  • Rhinoのサービスリリース(SR)を一つ戻す/進める
    SR差分で.NET Core側の挙動が変わり、プラグイン互換が崩れる事例があります。McNeel Forum+1

  • ShapeDiverプラグインを「安定して動く組み合わせ」に固定する
    (Rhinoの.NET設定と、ShapeDiverの版をセットで固定)

  • 競合しやすい古いプラグイン(例:以前.NET Framework前提だったもの)を一時的に外す
    ランタイム切替を要求するプラグイン同士が同居すると、片方を満たすと片方が壊れる構図になりがちです。Proving Ground Apps+1

まとめ:最短で直す優先順位

  1. ShapeDiverを問題の出ない版へロールバック(まずここ)McNeel Forum

  2. Rhinoの SetDotNetRuntime で.NET実行モードを揃えるMcNeel Forum

  3. 自動更新を止め、再インストールで読み込み状態をクリーンにするMcNeel Forum

  4. 定義ファイル起因の切り分け(空起動→段階的に開く)McNeel Forum

この4点を順番に潰すだけで、起動時の「.NET Framework Compatibility Issue」とMissingMethodException系は、かなりの確率で収束します。




以上の内容はhttps://error-daizenn.hatenablog.com/entry/2026/02/02/232044より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14