1

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

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

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

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

助言がありますか?

4

4 に答える 4

6

私は同じ問題を抱えていて、ある種のメモリが不足していることを発見しました。

Redhats の「ANTS Memory Profiler」を確認したところ、GC ルートの COM+ に大量のメモリがあることがわかりました。簡単なグーグルで、私はここにいることに気づきました:msdn XmlSerializers

次に、次の文章を読みました。

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

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

于 2009-08-14T05:36:50.217 に答える
2

「.cmdline」ファイルは、.NETFrameworkによって生成された自動生成ファイルです。アプリケーションは、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

于 2008-09-15T12:36:07.810 に答える
1

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

于 2011-10-19T09:21:58.757 に答える