【问题标题】:Unable to load assembly in Assembly.LoadFrom method无法在 Assembly.LoadFrom 方法中加载程序集
【发布时间】:2013-10-18 19:49:35
【问题描述】:

我在使用Assembly.LoadFrom 方法加载程序集时遇到问题。以下是代码。

Assembly theAssembly = default(Assembly);
string PathOfAssembly="C:\\Myapplication\\BasicACHTransmitters.dll";
//Load the assembly into memory
theAssembly = Assembly.LoadFrom(PathOfAssembly);

在最后一行 theAssembly = Assembly.LoadFrom(PathOfAssembly) 我收到以下错误。

无法在 c:\Builds\1\AccKnowledge\AK3-QA-LS5-Manual\Sources\AccKnowledge\ 中的 M3.AKAP.frmACHSetUp.LoadClasss.LoadClass(String AssemblyName, String ClassName, String InterfaceRequired) 加载程序集 BasicACHTransmitters代码\Ack3.0-QA\UI\M3.AKAP\frmACHSetUp.cs:522行。

我无法找到这个问题的解决方案,我现在被卡住了。请帮我解决这个问题。任何帮助将不胜感激。

注意:相同的代码可以在另一台具有相同程序集的机器上成功运行。

【问题讨论】:

  • “BasicACHTransmitters”是 .net 程序集吗?
  • 文件是否存在于给定位置?
  • 1.您不必在代码 sn-p 中将 theAssembly 分配给 default(Assembly)。 2.您的其他代码看起来不错-因此您的程序集有问题-检查引用以及是否可以加载DLL-例如,您可以使用NET Reflector 进行验证。还要修复此问题 - 请提供有关您遇到的错误的更多信息。
  • @Chilaka Umesh,是的,这是一个 .net 程序集。
  • @Andrii Kalytiiuk。我会做这个改变,但同样的代码正在另一台机器上工作。

标签: c# winforms


【解决方案1】:

尝试使用反射方法使用此链接。 Sample

【讨论】:

    【解决方案2】:

    1.) 尝试使用 just decompile 之类的反射器工具打开文件

    我会假设该文件不是 .net 程序集

    2.) 如果是程序集,请检查您是否有权访问该文件。 如果是.net 策略阻止访问而不是 Windows 权限,您可以使用 Caspol.exe 使文件值得信赖 例如:

    caspol -machine -addfulltrust Z:\myNetworkAssembly.dll
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-03-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-10
      • 2016-07-05
      • 2016-04-09
      相关资源
      最近更新 更多