我正在尝试将非托管 C++ dll 添加到托管 (CLI) C++ dll 项目中。当我单击“类向导”时,我收到“MFC 类只能添加到 MFC 项目”错误消息。据我所知,我没有使用 MFC(在我的非托管 dll 的项目页面下,使用 MFC 是空白的)。是否有另一种方法可以将非托管 dll 添加到我的托管 dll 的项目中?
对于任何有兴趣的人,我已经在我的 DropBox 帐户上抛出了稀有的解决方案:https ://dl.dropbox.com/u/98752313/CplusplusArrayTest.rar
我意识到有太多设置可能对我来说是错误的,无法简单地将所有内容复制并粘贴到可用空间中。
此解决方案中有三个项目。CplusplusArray(应该是完整的,是非托管的.dll),ManagedCpluspplusArray(需要添加非托管的dll,并修改一些东西,是托管的.dll),以及一个C#测试程序(还没写,希望能和大佬交流)非托管 dll 通过托管 dll)。
如果您想知道,这个项目的整个目标是让 C# 能够使用带有 long 的数组作为索引器。如果您以前使用过任何数量的 .Net,您可能已经遇到了 CLR 中对象大小的 Int32/Uint32 限制。我希望通过在 C++ 领域实现数组,然后针对它修改/编译一些 Mono Collections.Generics 类来解决这个问题,从而给我们一些喘息的空间。我做 C# -> C++/CLI -> C++ 的原因是,根据我的研究,我们可以使用面向对象的代码;DllImport 的东西只适用于类 C 的函数,我想保留 OOP,而不是修改东西以像 C 一样工作。由于数组是 List / etc. 类的构建块,据我所知,Collections 命名空间,