なぜ時々Windowsサービスアプリは動的アセンブリを構築できませんか?
サーバーアプリがいくつかあります.このアプリは、いくつかのファイルを読み、C#クラスを作成し、このアセンブリとロードアセンブリを作成します.このアプリは2つのモードで機能することができます-1つのモードはwindows デスクトップApplication、およびモード-Windowsサービスとしてのモードですが、コア
DLLは一般的です.
このアプリがサービスとして長時間働き、マシンサーバーに長いタイムアップが長い場合、それらは何も構築できません.デバッガ、およびデバッグサービスを添付しています.私は.NETソース(CompileAsSemblyFromSource)をデバッグして、その.NETクラスを表示します.
PARAMS(CSHARPCODEPROVIDERクラス)を使用してCSC.EXEプロセスを実行するだけでなく、csc.exe実行、エラーまたは例外を返し、出力は空白であり、何も起こりません.組み立ては構築されていません.
コードをコンパイルするためのダンプテストサービスをいくつか書きました.
名前空間CompilerService.
{
パブリッククラスコンパイラ
{
プライベートタスク_compilerTask;
パブリックコンパイラ()
{
_compilertask= task.run(()=>compileHalloworld());
}
プライベートコンストラクション文字列_workingdir= @ "c:\tmp";
プライベートボイドCompileHallowLd()
{
System.Threading.thread.SLEEP((30000));
if(!ディレクトリ.exists(_workingdir))
{
Directory.CreatedIrectory(_workingDir);
}
Directory.SetCurrentDirectory(_workingDir);
VAR CSC=新しいCSHARPCodeProvider(新しい辞書<文字列、String>(){{"compifersiffersion"、 "v4.0"}
}
);
VARパラメータ= New CompilerParameters(new [] "{" mscorlib.dll "、" system.core.dll "}
、 "foo.exe"、true).
Parameters.GenerateExecutable= true;
compilerResults results= null;
お試しください
{
結果= CSC.compileAssemblyFromSource(パラメータ、
システムを使ってシステムを使う.
クラスプログラム{
パブリック静的ボイドメイン(String [] args){
Console.WriteLine( "Hallo World!" ");
}
}
");
}
キャッチ(例外e)
{
int a= 2;
}
results.errors.ctrorError>().tolist().foreach(error=>console.writeLine(error.errortext));
}
}
}
このダンプサービスは、この機械のこの状態でハローの世界を構築することで失敗します.
マシンを再起動した後、すべての作業はすべて、アセンブリを常にコンパイルしてロードします.数週間後、問題が戻ってきて、サーバーをリセットする必要があります.この問題は1台のマシンにしかありません.Otger Machines This.
サービスとcsc.exeは年から完璧です.
マシンがこのWIRDSの状態にある場合、csc.exeはWindowsサービスアプリを構築しませんが、Windowsデスクトップアプリとしてこのアプリを実行すると、すべてがうまく機能し、csc.exeは通常...
あなたは私に言うことができます、これはいくつかの既知の問題です、Orazはマシンの再起動なしでCSC.exeをコンパイルしないのいくつかの解決策ですか?
返信リスト(回答:3)
こんにちはŠukasz、私はあなたがそのフォーラムで開発者のうちの1人からすばやく返事を受けることを願っています!
こんにちはŠukasz
私はあなたの質問の範囲のために、コミュニティは単なる消費者フォーラムです(C#アプリ開発)C#セクションのMSDN(開発者ネットワーク)の姉妹フォーラムにこの質問を投稿してください(下記)
あそこに、C#開発者のホストにアクセスできるようになり、この質問に対する知識のある素早い答えが得られます...
https://social.msdn.microsoft.com/forums/ja-JP/...
また、そのフォーラムはこのリンクのMicrosoft Q&Aに移動する過程にあります.
https://docs.microsoft.com/ja-jp/answers/produc...
関連質問
- :app-v
- HELOO、SharePoint 2016ソフトウェアの前提条件の成功後、Share Point 2016 Serverをインストールすると、このメッセージが表示されます
- Microsoft LoginのJMeterサポート
- OneDrive -携帯電話からの共有フォルダへの自動アップロード.
- :student
- MSSQL 2008 R2の出版物に関する一部のエラー
- Active Directory Serverのデフォルト管理者アカウントが無効になっています
- 読み取りファイルを削除するためのPowerShellスクリプト
- Windows Embedded 8.1企業は製品キーを必要としています
- デスクトップ上のアイコンの青い背景を削除する方法?