【发布时间】:2017-09-14 15:03:20
【问题描述】:
我想为我的 asp.net 网站使用 C++ 库。我不知道如何制作库的 .dll 并使其工作。我尝试制作一个 dll 并将其导入 asp.net。我是否需要在 c++ 代码中做一些事情才能使 dll 工作?
【问题讨论】:
-
什么不起作用?你的服务器是 32 位还是 64 位?如果 C++ 项目是 64 位机器,并且 C++ lib 是 32 位 dll,则需要在 C++ 项目中设置一些编译选项,您需要确保托管该站点的应用程序池设置为启用 32 位应用程序阅读此处看看如何:help.webcontrolcenter.com/kb/a1114/…
-
64。但我不知道如何从源代码制作 dll。我之前制作了一个 dll,但我不知道要链接什么才能使它工作
-
你能检查一下你的 IIS 应用程序池设置是否允许 32 位应用程序吗?
-
你的问题太广泛了。抓住一个编译器,如果有什么东西出来,就给它提供源代码,使用它,例如:stackoverflow.com/questions/772041/using-c-library-in-c-sharp 但是有 30K 的帖子关于大致相同的主题stackoverflow.com/search?q=use+c%2B%2B+dll+from+c%23
-
C++ 通常是非托管代码。因此,您需要找到一个编译器并编译 C++ .Net 不能像与其他 dotnet dll 一样与非托管 c++ dll 通信。因此,您必须使用 DotNet 互操作功能来“包装”dll 才能将其与 dotnet 一起使用。 docs.microsoft.com/en-us/dotnet/csharp/programming-guide/… 这是一项艰巨的任务。如果这对您来说是全新的,我建议您找到一个已经打包的不同库,或者找到一个托管的 dotnet 库。具有类似的功能。