.NET中是否有可能在子進程中執行方法(委託,靜態方法等)? System.Diagnostics.Process
似乎需要一個實際的文件名,這意味着需要一個單獨的可執行文件。開始一個執行委託的新進程
我想要做的是在單元測試中驗證在進程退出時清理了OS資源。我知道,可能使用CodeDOM或IL代來創建這樣一個程序集並執行它,但單元測試的重點是隔離組件部分,而不是創建複雜性。出於同樣的原因,我想避免一個單獨的程序集。
理想情況下,我會做這樣的事情:
public static void CreateCounter()
{
var counter = new PerformanceCounter("category", "counter", "instance");
counter.InstanceLifetime = PerformanceCounterInstanceLifetime.Process;
}
[Test]
public void TestResourceDisposal()
{
// Start child process to execute CreateCounter()
...
// verify the resource is disposed
}
所以看起來你是正確的 - 我沒有找到可以做到的管理方式。我已經使用了CodeDOM路徑,並且正在生成微型的.exe。謝謝! – Ben 2011-03-22 23:48:47