通过网络加载依赖项

时间:2020-04-05 23:50:57

标签: c# .net-assembly resolve

我从服务器加载我所有的依赖项,但是我在加载2个特定的Dll文件时遇到问题。

AppDomain.CurrentDomain.AssemblyResolve += CurrentDomain_AssemblyResolve;
return Assembly.Load(dll.bytes);

https://github.com/dwmkerr/sharpgl

我正在尝试加载
“ SharpGL.SceneGraph.dll” “ SharpGL.WPF.dll”

获取System.TypeLoadException类型:无法加载SharpGL.WPF.OpenGLControl

我也可以从我自己的wpf库中加载控件。有人知道发生了什么吗?

编辑1: stacktrace只是说这行导致了异常

<wpf:OpenGLControl Name="D3Render" OpenGLDraw="D3Render_OnOpenGLDraw" FrameRate="60" Height="300" Width="300" VerticalContentAlignment="Top" HorizontalAlignment="Left" Margin="5,0,0,0"/>

错误

System.TypeLoadException: 'Der Typ "SharpGL.WPF.OpenGLControl" in der Assembly "SharpGL, Version=2.4.3.0, Culture=neutral, PublicKeyToken=27fc851303210b27" konnte nicht geladen werden.'

还可以打印来自resolve方法的所有呼叫:

SharedObjects.dll
MongoDB.Bson.dll
SharpPcap.dll
PacketDotNet.dll
SharpGL.WPF.dll

Edit2: 添加了测试以重现该问题 https://github.com/KenionX/DependencieTest

Edit3: 由于某种原因,它可以在我的测试仓库中使用...我不知道为什么,但是gona知道了

〜Zerray

1 个答案:

答案 0 :(得分:0)

问题出在其他地方,而不是服务器将我发送的SharpGL.dll加载到SharpGL.WPF.dll上,而是服务器上的字符串比较出了问题!谢谢大家。