.net - 如何根据 CPU 架构使用正确的非托管 DLL 文件? (32/64 位)

标签 .net c++ 32bit-64bit

我必须使用来自 ASP.NET 站点的 C++ DLL 文件。该站点将托管在 32 位和 64 位环境中。

我有一个 32 位和 64 位版本的非托管 DLL 文件。如何根据当前服务器架构从正确的方法导入方法?

就像有人发布的那样,这可以作为部署问题来处理。我担心的是:使用这个 DLL 文件的 Web 应用程序很大,而且我们没有部署文档。没有人会记得部署正确的 DLL 文件,所以我试图从解决方案中消除人为因素:)

最佳答案

最简单的方法是在两个不同的目录中为两个 native 库提供相同的文件名,然后 adjust your application DLL search path取决于位数。

http://www.pinvoke.net/default.aspx/kernel32.setdlldirectory

关于.net - 如何根据 CPU 架构使用正确的非托管 DLL 文件? (32/64 位),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3638751/

相关文章:

c++ - Google pnacl-clang++下如何搭建Leptonica库

C# 读取注册表 : ProductID returns null in x86 targeted app. "Any CPU"工作正常

c# - 使用托管代码包装器从 64 位托管代码调用 32 位非托管代码的最佳方式

VBA CreateObject 无法在 64 位 Windows 上创建 ActiveX 组件

.net - 从 Dynamics CRM Online 中的自定义实体检索数据

.net - 为什么 String 类不在可移植库中实现 IEnumerable<char> ?

c# - 如何修复 Viewstate 中表的序列化?

c# - 带有空检查的 If 语句

c++ - Qt中使用GET方法时如何添加token?

c++ - Xcode C++ 库位置