11

Web アプリケーションで次のエラーがときどき (一見ランダムに) 表示されます。Windows Server 2008R2、IIS 7.5、MVC3、.NET 4.5 を実行しています。

コンパイラ エラー

毎回同じエラーです: CS0656: Missing compiler required member 'Microsoft.CSharp.RuntimeBinder.Binder.BinaryOperation'

このエラーが発生した場合、アプリケーション プールの再起動から、アプリケーション自体の再インストールまで、問題を修正するためにあらゆることが必要になる可能性があります。

このエラーは、まったく新しい VM イメージ (以前にソフトウェアをインストールしていない) と、以前にソフトウェアがインストールされていたマシンで発生します。このエラーは、アプリケーションの最初の実行時、または IIS アプリケーション プールがワーカー プロセスをリサイクルするのに十分な時間アプリケーションが停止したときに発生する可能性があります (そのようです)。

私はこのエラーについて多くの調査を行い、複数の解決策を試しましたが、うまくいきませんでした。また、エラーが発生するランダムな頻度により、トラブルシューティングが非常に困難になっています。この問題に関する洞察、または可能な解決策に関するアイデアは、大歓迎です。この時点で、私はほとんど何でも試してみたいと思っています。

4

4 に答える 4

3

これはおなじみですね。正確に思い出すと、古いバージョンのdllが浮かんでいて、このクラスが.net 4.0で導入されたため、binディレクトリを削除して再構築する必要がありました

いくつかの調査の後、このサイトは同意しているようです: http://our.umbraco.org/forum/using/ui-questions/20474-Missing-compiler-required-member-MicrosoftCSharpRuntimeBinderBinderInvokeMember

于 2013-04-12T14:26:59.887 に答える
0

Forest Chengを試す回答:

.NET Framework のバージョンは? ASP.NET MVC 3 ランタイム コンポーネントには、.NET Framework バージョン 4 と、Visual Studio 2010 または Visual Web Developer 2010 Express が必要です。詳細については、 ASP.NET MVC 3 リリース ノートを参照してください。

コンパイラ エラー CS0656 は、次の問題が原因である可能性があります。

  1. 共通言語ランタイムのインストールが破損しています。

  2. 共通言語ランタイムにもある型を定義するアセンブリへの参照があります。ただし、アセンブリの型は、C# コンパイラが期待する方法で定義されていません。

そのため、参照を調べて、正しいバージョンの共通言語ランタイムを使用していることを確認してください。

于 2013-04-08T18:58:38.343 に答える