Winform アプリから Web サービスを使用するときにエラーが発生しました - 「プログラムを実行できません…」

StackOverflow https://stackoverflow.com/questions/62268

  •  09-06-2019
  •  | 
  •  

質問

Web サービスを呼び出して更新を確認する winform アプリがあります。これは開発環境でも機能しますが、私が試した他の場所でも機能しますが、私のマシンにインストールされているコピーでは機能しません(開発環境でも同じです)。

エラーは次のとおりです。

プログラムを実行できません。実行されたコマンドは、「C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\csc.exe」/noconfig /fullpaths @"C:\Documents and Settings\Giovanni.DOUBLE-AFSSZ043\Local Settings emp\squ8oock でした。 .cmdline」。

ファイアウォールが無効になっており、「C:\Documents and Settings\Giovanni.DOUBLE-AFSSZ043\Local Settings emp\squ8oock.cmdline」を探しましたが、見つかりません。Webサービスを使用しようとするたびに、「.cmdline」ファイルは異なることに注意してください。たとえば、2回目は「dae8rgen.cmdline」でした。どんな名前があっても、ファイルを見つけることはできません。

助言がありますか?

役に立ちましたか?

解決

「.cmdline」ファイルは、.NET Framework によって生成される自動生成ファイルです。アプリケーションは、Web サービスからのデータを解析するために使用される XML シリアライザーをリアルタイムでコンパイルしようとしています。

コマンドラインウィンドウから「csc.exe」を実行できることを確認しましたか?「c: windows microsoft.net framework v2.0.50727 csc.exe /?」と入力するだけでもコンパイラオプションのリストを取得する必要があります(または、実行する許可がない場合はエラーが発生します)。

これをどのユーザー アカウントで実行していますか?また、Windows ディレクトリ内の .exe ファイルを実行する権限はありますか?同様に、マシンにインストールされているコピーでこの問題が発生するとおっしゃっていましたが、ネットワーク共有から実行され、ローカルの実行可能ファイルを実行できないように制限されたコード アクセス セキュリティのアクセス許可を受け取っている可能性はありますか?

参考として、ユーザー アカウントに十分なアクセス許可がない場合に ASP.NET で発生する可能性がある同様のエラーを示す KB 記事を次に示します。http://support.microsoft.com/kb/315904

他のヒント

私も同じ問題を抱えていて、ある種のメモリが不足していることがわかりました。

Redhats の「ANTS Memory Profiler」をチェックしたところ、GC ルートの COM+ に大量のメモリがあることがわかりました。簡単にグーグルで検索すると、ここにたどり着きました。 msdn Xmlシリアライザー

それから私は次のことを読みました。

他のコンストラクターのいずれかを使用すると、同じアセンブリの複数のバージョンが生成され、アンロードされないため、メモリリークとパフォーマンスが低下します。最も簡単な解決策は、前述の2つのコンストラクターのいずれかを使用することです。それ以外の場合は、ハッシュテーブルでアセンブリをキャッシュする必要があります...

シリアライザーのハッシュテーブルを作成した後、メモリ リーク (およびパフォーマンスの低下) とその結果として発生するあなたのようなエラー メッセージの問題はなくなりました。

ISSResetで同じ問題を解決しました

AppLocker が強制されている場合は、以下を許可してください (パス例外として追加)

c:\windows\MICROSOFT.NET\FRAMEWORK\V2.0.50727\CSC.EXE c:\windows\MICROSOFT.NET\FRAMEWORK\V2.0.50727\CVTRES.EXE

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top