4

Windows 7 開発マシン (VS2010 を使用) で完全に正常に動作する MVC3.0 (.Net 4.0) アプリケーションがあります。同じアプリケーションは、IIS 7 を搭載した Windows 8 サーバーの 1 つでも正常に動作します。

ただし、まったく同じアプリケーションが、IIS7 を使用する他の Windows 8 Server で以下の例外をスローします。

操作により、ランタイムが不安定になる可能性があります。

スタックトレース:

[VerificationException: 操作により、ランタイムが不安定になる可能性があります。 () System.Web.HttpApplication.ExecuteStep(IExecutionStep ステップ、ブール値 & completedSynchronously)

誰かがこの問題の原因を理解するのを手伝ってくれませんか?

.NET Framework 4.0 ですか? (両方のサーバーに .Net Framework 4.0 がインストールされていることを確認しました)

IIS と MVC 3.0 の問題ですか? (IIS を実行するには、MVC 3.0 を個別にインストールする必要がありますか?)

IIS 7 で FULL TRUST で実行するように Web アプリをセットアップするにはどうすればよいですか?

または完全に別のもの(iisをspnet_regiis.exe -irで登録しようとしても役に立ちませんでした)

このhttp://www.microsoft.com/en-us/download/details.aspx?id=1491を Web サーバーにインストールする必要はありますか?

どんな助けでも大歓迎です。

4

2 に答える 2

4

VerificationExceptionJIT コンパイラがアセンブリ内の型情報の不一致または無効な IL 命令を検出すると、 がスローされます。たとえば、呼び出し元と呼び出されたメソッドの間でメソッド シグネチャ (または戻り値の型) が一致していない (メソッドのシグネチャが変更され、依存アセンブリが再コンパイルされていない場合)。

この問題を解決するにはpeverify、アセンブリのチェックに使用できます。

peverify MyCompany.WebAppMainAssembly.dll

どのメンバーが競合を引き起こしているかがわかります。のようなものfound <method sig>, expected <expected signature>。これで、問題の原因となったアセンブリがわかりました。必要に応じて GAC に再インストールします。MVC、EF、および Unity には msi インストーラーがあるか、手動でインストールします...

ところで、peverifyopenを実行するVisual Studio Command Promptか、 in を探しますC:\Program Files (x86)\Microsoft SDKs\Windows\<winver>\Bin(このパスは少し変わる可能性があります)。

于 2012-08-28T12:16:55.953 に答える
0

この問題は、次のホットフィックスに関連している可能性があります: http://support.microsoft.com/kb/2748645

問題の説明と既に行ったテストに基づいて、このフレームワークのバグが原因である可能性が最も高いようです。.Net 4.0 をターゲットにしていても、.Net 4.5 は、インストールされると .Net 4.0 を置き換えます。

VS2010 を搭載した Windows 7 マシンにはおそらく .Net 4.5 がないため、このバグの影響を受けません。

動作中の Windows 8 サーバー (通常は .Net 4.5 に付属) が更新されている可能性があるため、既にこの修正プログラムが適用されています。

そのため、動作していない Windows 8 サーバーは、おそらくこの修正プログラムでまだ更新されていません。(通常の Windows 更新プログラムを実行すると、最終的にこの更新プログラムも取得されます)

両方のサーバーにインストールされている更新プログラムを比較して、環境が一致していることを確認することができます。

.Net 4.5 がインストールされているマシン向けに開発する場合は、VS2012 に切り替えるか、.Net 4.5 を手動でインストールして変更を反映することを検討してください。ただし、.Net 4.5 を使用しないマシンもターゲットにする場合は注意してください。他にも破壊的な変更があります...

Visual Studio 2012 における Visual C# の重大な変更

.NET Framework 4.5 でのアプリケーションの互換性

于 2013-10-30T15:53:26.547 に答える