2012-07-16 56 views
0

我試圖找到一個這樣的例子,但我什麼也沒找到。似乎CreateInstanceAndUnwrap和類似的沒有重載程序集或字節數組。有人能告訴我如何做到這一點?如何在另一個AppDomain的內存中運行可執行文件?

編輯:

Here的鏈接到我的其他問題。 我的想法是製作一個包裝程序可執行文件,它運行我的主要可執行文件並記錄其錯誤。 但我不知道如何捕獲AppDomain.FirstChanceException如果我不運行它作爲另一個AppDomain。

回答

2

您不能在另一個AppDomain中運行可執行文件。可執行意味着進程和進程意味着不同的AppDomain。想想運行一個可執行文件爲Process.Start。所以你可以做的就是加載這個可執行文件所代表的.NET程序集,並在另一個AppDomain上調用它的一些方法。您可以在調用項目中引用此可執行文件,或在運行時動態加載程序集。

+0

請檢查我的編輯。 – blez 2012-07-16 15:12:57

+0

您不能在另一個AppDomain中運行可執行文件。可執行是指進程。您可以在調用應用程序中引用此可執行文件,然後在單獨的域中實例化類並運行方法。一旦你完成Process.Start,你將離開應用程序的領域,我們不能再談論AppDomain。我們正在談論過程。所以你不能只運行一個exe文件。你可以在你的調用項目中引用這個exe文件,實例化它的'Program'或者任何被調用的類,並調用'Main'方法。所有這些都可能發生在一個單獨的AppDomain中。 – 2012-07-16 16:12:54

相關問題