繁体   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