2

この問題を理解するための助け、アイデアが必要です。

ERPConnectを使用して一部のデータを投稿するためにSAPを呼び出すアプリケーションに取り組んでいます。WCFサービスのEntityFramework呼び出しの1つで、次の問題が発生します。.NET4.0、Win2008Serverを使用しています。

イベントには以下の情報が含まれていました。

exception in getting ****getrebateproposal**-****Common Language Runtime detected an invalid program.******   at System.Data.Entity.DynamicProxies.RebateProposal_E1004D9B0153012E0A7A09FC9B574872909349EC992253740AB3C066FC63CF4D.set_Id(Decimal )
       at lambda_method(Closure , Shaper )
       at System.Data.Common.Internal.Materialization.Shaper.HandleEntityAppendOnly[TEntity](Func`2 constructEntityDelegate, EntityKey entityKey, EntitySet entitySet)
       at lambda_method(Closure , Shaper )
       at System.Data.Common.Internal.Materialization.Coordinator`1.ReadNextElement(Shaper shaper)
       at System.Data.Common.Internal.Materialization.Shaper`1.SimpleEnumerator.MoveNext()
       at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
       at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
       at CommercialTermsRepository.GetRebateProposalsAmountToPay(String rebateAgreement) in D:\Projects\TFS\CIT V2\DataModel\BusinessObjects\CommercialTermsRepository.cs:line 794
       at SAPInterface.RebateProposalService.SetZv41Data(List`1 uploadRebates) in D:\Projects\TFS\CIT V2\Server\UserService\RebateProposalService.svc.cs:line 187
4

2 に答える 2

5
  1. exe / dllでPEVerifyを実行して、問題がないか確認しましたか?
  2. ngenを実行して、ngenが失敗するかどうかを確認しましたか?
  3. 失敗したコードまたは問題の小さな再現を投稿できますか?

そして、探すべきいくつかのこと:

  • ラムダは巨大な方法ですか?(つまり、それは多くの値を閉じていますか?)-これが当てはまらないように、それを移動してみてください
  • パラメータまたは出力にCOMオブジェクトを持つデリゲートタイプを使用していますか?(私は過去にそれに関して問題を抱えていました)
于 2010-09-15T11:49:53.173 に答える
1

これは解決されましたか?私は同様の問題に直面しています

InvalidProgramException:共通言語ランタイムが無効なプログラムを検出しました

例外は、動的プロキシが10進数型の主キーのプロパティを設定しようとしているときに発生します。これは私が持っているのと同じエラーケースです。単純なGridviewと1つのテーブルで構成されるデータベースで問題を再現できます。

標準のPOCOテンプレートを使用して、コンテキストとプロキシを生成しています。

回避策は、ご使用の環境で可能であれば、主キーをintに変更することです。フレームワークのバグのようです。

于 2010-11-08T20:31:14.597 に答える