【问题标题】:DllImport from class library or web service project从类库或 Web 服务项目中导入 DllImport
【发布时间】:2013-06-06 17:08:47
【问题描述】:

我创建了一个控制台应用程序来使用 DllImport 导入“C”Dll “C” Dll 引用了同一文件夹中的其他 Dll 和 Config 文件。

当我将所有文件放在控制台应用程序的 bin 目录中时,它可以完美运行。

但是当我创建一个 Web 应用程序来使用它时,它不起作用。 (当我设置路径时,dll 引用很好,但似乎没有加载配置文件)

我在下面尝试过,但没有帮助。

  1. 将 DLL 和配置文件复制到 System32。
  2. 授予 IIS 访问权限。
  3. 禁用卷影复制。

似乎没有任何效果,还有其他建议吗?

【问题讨论】:

  • 配置文件是否与您的 ASP.Net 应用程序的托管 DLL 位于同一目录中?
  • 是的,托管和非托管 dll 以及非托管 dll 的配置都在同一个文件夹中
  • 您是否尝试过从项目中引用配置文件并将其标记为“始终复制”?
  • 是的,配置文件和 dll 是我的项目的一部分,总是标有复制

标签: c# asp.net dllimport


【解决方案1】:

我解决了这个问题。

我用Directory.SetCurrentDirectory();设置了dll和配置文件的路径。

如果无法更改当前目录。将文件放在路径Directory.GetCurrentDirectory();

【讨论】:

    【解决方案2】:

    您需要将配置移动到 Web 应用程序的 web.config 文件中 这里有一些关于如何做到这一点的好建议:Custom section/collection in Web.Config

    【讨论】:

    • 配置文件被非托管 dll 使用。我怎样才能将它们移动到 web.config。
    猜你喜欢
    • 2015-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-09
    • 1970-01-01
    • 1970-01-01
    • 2018-05-06
    • 2011-01-26
    相关资源
    最近更新 更多