【发布时间】:2012-10-18 10:26:46
【问题描述】:
我有一个 .NET 类库,其中包含一个带有静态方法的类。我希望我的代码在一个单独的进程中运行该静态方法 - 就像我在一个单独的线程中运行它只是在一个单独的进程中一样。
我知道我可以创建一个单独的控制台应用程序项目,从 Main() 内部调用静态方法,但这不适合我的部署方案 - 我宁愿不携带额外的 .exe 文件。我知道我可以 use Powershell 来调用它,但这意味着依赖于我宁愿避免的 Powershell。
有没有办法仅使用 .NET 在单独的进程中运行代码?也许我可以在运行时为那个单独的进程创建可执行文件?
【问题讨论】:
-
您可以在现有应用程序中使用命令行选项吗?
-
为什么需要这样做?初始进程完成后,该进程是否应该继续运行?
-
@Gabe:不,我当前的代码是加载到代理中的类库。
-
然后创建一个新的应用程序域来运行任务,并在失败时将其删除,而不是启动一个全新的进程,难道没有意义吗?
-
如果它是一个没有调用非托管代码的线程,那么您不必弄乱应用程序域 - 如果线程挂起,您可以杀死它。