私はC#ソースファイルを動的にロードしてプラグインとして実行するアプリケーションを持っています。メインアプリケーションをデバッグモードで実行しているときに、ダイナミックアセンブリにデバッグすることは可能ですか?明らかに、ブレークポイントを設定することは問題です。なぜなら、ソースは元のプロジェクトの一部ではありませんが、コードの例外を踏み入れることができなければなりませんか?コード化されたコンパイル済みコードでデバッグ/ブレークする方法
これは何かのPDBを生成するためにコード化されたコードを取得する方法はありますか?
ここでは動的合併症に使用しているコードを示します。
CSharpCodeProvider codeProvider = new CSharpCodeProvider(new Dictionary<string, string>() { { "CompilerVersion", "v3.5" } });
//codeProvider.
ICodeCompiler icc = codeProvider.CreateCompiler();
CompilerParameters parameters = new CompilerParameters();
parameters.GenerateExecutable = false;
parameters.GenerateInMemory = true;
parameters.CompilerOptions = string.Format("/lib:\"{0}\"", Application.StartupPath);
parameters.ReferencedAssemblies.Add("System.dll");
parameters.ReferencedAssemblies.Add("System.Core.dll");
CompilerResults results = icc.CompileAssemblyFromSource(parameters, Source);
DLL.CreateInstance(t.FullName, false, BindingFlags.Default, null, new object[] { engine }, null, null);
(私はCodeDomのものに本当に混乱したことがない)System.Diagnostics.Debugger.Break()を配置しようとするとどうなりますか?あなたのコードのどこかに?あなたはそれに入ることができますか? – BFree
これはうまくいきましたが、受け入れられた回答のオプションのみで動作します。 –
私は不注意ごとにこの質問を二重にしました(私が探し求めた鍵ではありませんでした)。 http://stackoverflow.com/questions/1593920/debugging-a-generated-net-assembly-from-within-the-application-that-generated-it/1594910#1594910私は、インターフェイスを含むソリューションを追加しました。それが助けてくれることを願っています... – jdehaan