我有一个从 Visual Studio 2010 生成的 DLL,但我需要将它链接到一个 2008 年的项目,由于其他各种原因,该项目需要保持 2008 年。有人遇到类似的麻烦或有建议吗?
问问题
455 次
2 回答
0
动态链接库 (DLL) 从一开始就是 Windows 平台的集成部分。DLL 允许将一个功能封装在一个独立模块中,其中包含可供外部用户使用的 C 函数的显式列表。在 1980 年代,当 Windows DLL 被引入世界时,与广大开发人员交流的唯一可行选择是 C 语言。因此,很自然地,Windows DLL 将其功能公开为 C 函数和数据。在内部,DLL 可以用任何语言实现,但为了在其他语言和环境中使用,DLL 接口应该回退到最低公分母——C 语言。
http://www.codeproject.com/Articles/28969/HowTo-Export-C-classes-from-a-DLL
标准化的 C 样式接口应该没问题,尽管它仅适用于非托管 C++。
于 2012-06-13T19:00:34.123 回答
0
VS2010 是 .NET 4.0
VS2008 是 .NET 3.5
所以你的问题的答案是否定的,因为如果 dll 正在使用任何特定的 .NET 4 功能,它不会在你的 3.5 环境中执行。也可能发生在 .NET 版本中的程序集映射不同,这可能成为 4.0 dll 未在 3.5 环境中执行的原因之一。
我不确定,但您可以查看 COM 互操作功能。也许它可以帮助你实现你想要的。但是会太乱!!
于 2012-06-13T19:14:08.443 回答