.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