不要在LINQPad中重用查询过程

时间:2016-02-17 17:32:58

标签: linqpad

我打开了“在自己的进程中运行每个查询”选项(默认值),但似乎在查询运行之间重用了该进程(LINQPad.UserQuery.exe继续运行)。

有没有办法避免这种重用?我每次都需要一个全新的进程(由于JVM的使用)。

明显的方法是

Environment.Exit(0);

但是会导致令人不快的“查询意外结束”消息。

2 个答案:

答案 0 :(得分:6)

选项“在其自己的进程中运行每个查询”指示LINQPad使用进程隔离而不是AppDomain隔离。如果您重新运行相同的查询,它仍将重复使用该过程。

您想要的选项是“始终使用新鲜的应用程序域”。将此设置为true,每次执行都会得到一个全新的进程/ AppDomain。或者,正如Guru建议的那样,在查询中设置Util.NewProcess。这会强制下一次执行使用新的进程/域。

答案 1 :(得分:5)

尝试Util.NewProcess = true

Util.NewProcess = true;
Process.GetCurrentProcess().Id.Dump();

您也可以尝试菜单中的选项:'查询' - > '取消所有主题和重置'(也可通过快捷方式Shift+Control+F5