将 C++ 项目转换为 DLL 以在 C# 应用程序中使用

Converting C++ project to a DLL to use in C# application

几天来我一直在寻找可以同时 select 多个文件和多个文件夹的自定义 .NET 控件。

我发现的唯一一个正是我正在寻找的是下面的那个,但它是用 C++ 编写的。

https://www.codeproject.com/Articles/28015/SelectDialog-A-Multiple-File-and-Folder-Select-Dia

任何人都可以告诉我如何让它在我的 C# 应用程序中工作吗?作为 DLL 参考或仅将项目包含在我当前的解决方案中。

我尝试将其编译为非托管 DLL,然后从我的 C# 项目中执行 DLLImport,但无法使其正常工作。

提前致谢。

如果 class 没有为其创建 C# 包装器,则有点棘手。你确定你需要这个 C++ 控件吗?根据我的经验,除非你绝对必须,否则我会避免使用 .Net 库之外的东西。很痛苦:0

看看这个 - 这是一个很好的指令列表: How to Marshal a C++ class

我最终使用 Windows API 代码包的 ExplorerBrowser 创建了我自己的自定义表单。它看起来就像 OpenFileDialog,但您可以同时 select 多个文件和文件夹。

我还没有看到有人这样做,所以我可能会 post 稍后在某处发表一篇关于它的文章...

感谢您的建议。