簡體   English   中英

反序列化 - 未找到程序集問題c#

[英]Deserialization - assembly not found issue c#

我正在進行裝配項目,外部程序通過裝配程序執行。 System.Environment.CurrentDirectory程序集和Application.ExecutablePath路徑因外部應用程序而異。 System.Environment.CurrentDirectory是程序集路徑。 Application.ExecutablePath外部應用程序路徑。 反序列化時會拋出異常

沒有找到裝配

因為"Application.ExecutablePath "沒有我的dll。 所以我想更改使用System.Environment.CurrentDirectory路徑進行反序列化。

我建議在當前域上設置AssemblyResolve事件。 這樣,您可以明確確定DLL的位置,並在未自動找到它們時加載它們。

Jeremy Tammik在這里寫到: http ://thebuildingcoder.typepad.com/blog/2014/05/rvtva3c-assembly-resolver.html

唯一要注意的是你應該確保事件專門針對你的DLL(而不是任何DLL) - 並且如果它不適合你加載DLL你返回null(我偶爾遇到其他情況)人們的插件不能很好地實現這一點,它會讓我的插件搞砸了。

暫無
暫無

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

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