我们可以使用Application Domain执行批处理文件(* .bat)吗?

时间:2010-07-28 07:59:06

标签: c# .net

我们可以使用Application Domain执行批处理文件(* .bat)吗?

3 个答案:

答案 0 :(得分:3)

没有。 AppDomain是一个纯粹的CLR概念,而*.bat文件是在“通常的Windows”内部执行的。

答案 1 :(得分:2)

如果您需要从C#执行批处理文件,请使用Process类。

Process myProcess = new Process();
myProcess.StartInfo.FileName = "C:\\HelloWorld.bat";
myProcess.Start();

批处理文件不是CLR的一部分,因此无法在AppDomain中运行。

答案 2 :(得分:2)

应用程序域是纯粹的CLR概念,它们与任何不是托管库的内容无关,因此无法在appdomain中运行批处理文件。批处理文件在其下运行的Process对象将绑定到一个特定的应用程序域,但它仍然会导致单独的进程被实例化以运行批处理文件。

在MSDN AppDomain Class文档中的备注下有一些相当不错的解释性文本可以帮助您了解应用程序域的确切内容,以及您可以做什么和不可以做什么一个人。