[英]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.