1

我有一个用于为字符串创建 AVL 树并计算其深度的 C++ 代码。我需要将字符串作为参数从前端(即 asp.net 网页)传递给 c++ 代码的函数,但目前我创建的 dll 不能包含在 asp.net Web 应用程序中。我使用此链接中给出的步骤创建了 dll:

http://msdn.microsoft.com/en-in/library/ms235636(v=vs.90).aspx

即使创建了 dll,当我尝试将其添加为我的 Web 应用程序中的引用时,我也会收到以下错误:

无法添加对 'c:\....\....\...(dll 路径)的引用。请确保该文件是可访问的,并且它是一个有效的程序集或 COM 组件。

有人可以指出我可能会出错的正确方向吗?

4

1 回答 1

0

你有几个选择

  1. 您可以为您的 dll 提供直接的 C API,然后使用 pinvoke 直接调用从您的 c# 创建的函数。根据有多少类和函数,这可能会很痛苦。请参阅C++ 中的 Api Design 以获得一些报道。

  2. 使用ATL 之类的东西创建一个 com 接口。

  3. 使用C++ cli包装您的 C++ 代码并使其可从 c# 调用。如果您没有其他选择的经验,我会选择这个。

于 2013-04-24T15:33:18.053 回答