簡體   English   中英

如何將.exe加載為.NET程序集?

[英]How to load an .exe as a .NET assembly?

我可以使用嗎?:

Assembly.LoadFile

不確定這是否是這樣做的?

但是當我嘗試這種方法時,它會拋出一個Could not load file or assembly "CustomControlLib"或其依賴項之一。 該系統找不到指定的文件。

有任何想法嗎?

您需要確保依賴項也已加載到應用程序域中。 如果它們未自動定位,您可以訂閱AppDomain.AssemblyResolve ,以便在需要時手動查找和加載程序集。

例如:

private Assembly AssemblyEventHandler(object sender, ResolveEventArgs args)
{
    return locatedAssembly;
}

另外,我會考慮使用Assembly.LoadFrom ,特別是在閱讀了這篇由nobugz強有力的斷言並鏈接到一些好的閱讀之后 (所有過時的但仍然應該在大多數情況下都能承受。)

如果使用Assembly.LoadFrom()則將從程序集所在的目錄中加載依賴項。

Assembly.LoadFile()忽略同一文件夾中的所有其他DLL和exe文件。

是的,您可以像加載Dll一樣加載.Net exe。 您獲得的錯誤是由您的exe的依賴性引起的。 確保可以找到這些依賴項,即在匯編搜索路徑中。

是的,您可以使用Assembly.LoadFile() 檢查你的路徑。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM