【发布时间】:2011-04-08 00:20:38
【问题描述】:
我必须使用来自 ASP.NET 站点的 C++ DLL 文件。该网站将托管在 32 位和 64 位环境中。
我有一个 32 位和 64 位版本的非托管 DLL 文件。如何根据当前服务器架构从正确的方法中导入方法?
就像有人发布的那样,这可以作为部署问题来处理。我担心的是:使用这个 DLL 文件的 Web 应用程序很大,而且我们没有部署文档。没有人会记得部署正确的 DLL 文件,所以我试图从解决方案中消除人为因素 :)
【问题讨论】:
-
您是否正在尝试调试它?您将符号导入或用于什么?
-
@linuxuser27:不确定我是否理解你的问题。我正在尝试在我的项目中使用 dll,调用一些方法。
-
我明白了。当您说符号时,通常指的是在编译期间创建的结果 PDB 文件。我会编辑您的问题以避免这种混淆。您是在 .NET 代码中执行 p\invoke 以使用程序集,还是使用托管 C++ 包装器将程序集带入 .NET 项目?
-
@linuxuser27:我将“符号”更改为“方法”。感谢您的建议!我正在使用 [DllImport("unmanaged.dll")]。
-
如果它们有不同的名称,答案是:很痛苦,您将不得不使用 LoadLibrary 并获取 proc 指针并将它们编组给委托。编辑:我只会编译 2 个版本...
标签: .net c++ 32bit-64bit