【问题标题】:How to import dll from bin folder without adding reference in asp.net如何从bin文件夹导入dll而不在asp.net中添加引用
【发布时间】:2012-10-04 10:10:57
【问题描述】:

在我的项目中,我通过在我的项目 bin 文件夹中引用使用了一些 dll,这仅在我将我的 dll 粘贴到我的“C:windows/system32/mydll.dll”中时才有效,但是当我将我的 dll 粘贴到 bin 文件夹中然后在服务器上运行我的网站,它会显示错误...."file not found" 。 我也使用这个方法 [DllImport("~/bin/mydll.dll")] 来导入它.... 但它仍然向我显示相同的错误“找不到文件”

如果我使用添加引用方法,那么它会显示“无效的 COM 组件”错误.....

请提出一些简单实用的解决方案...

【问题讨论】:

    标签: asp.net dll dllimport


    【解决方案1】:

    因为您的 dll 在您的参考资源管理器中添加为 COM composant,而不是简单的汇编。

    注意:如果要将程序集注册为 COM,可以使用 RegSvr32 tool

    链接:http://msdn.microsoft.com/en-us/library/ms859484.aspx

    【讨论】:

    • 当您点击添加引用时,您选择 COM 部分
    • 我已经使用 Regsvr64 工具和命令 regsvr64.exe /s MyLibrary.dll 注册了我的 dll,但 dll 仍然不在 COM 列表中。请帮助
    • 第二步使用 gacutil 在 GAC 中注册,链接:msdn.microsoft.com/en-us/library/ex0ss12c.aspx
    【解决方案2】:

    在代码中尝试:

        if (!Environment.GetEnvironmentVariable("PATH", EnvironmentVariableTarget.Process).Contains(HttpRuntime.BinDirectory))
            Environment.SetEnvironmentVariable("PATH", Environment.GetEnvironmentVariable("PATH", EnvironmentVariableTarget.Process) + ";" + HttpRuntime.BinDirectory, EnvironmentVariableTarget.Process);
    

    【讨论】:

      猜你喜欢
      • 2010-12-15
      • 1970-01-01
      • 2011-02-23
      • 1970-01-01
      • 2017-05-25
      • 1970-01-01
      • 2016-02-12
      • 2018-08-28
      • 1970-01-01
      相关资源
      最近更新 更多