使用同时针对x64和x86的非托管DLL构建NuGet时的最佳实践是什么

时间:2019-01-08 08:02:52

标签: c# x86 nuget 64-bit unmanaged

我正在构建一个依赖于非托管库的C#项目,该库在x64和x86中都可用。该项目将被构建并用作NuGet。我的项目结构如下:

Project Lib/unmanaged_lib_x64.dll Lib/unmanaged_lib_x86.dll

NuGet将由针对不同平台AnyCPU / x64 / x86的C#项目使用。为两个平台提供NuGet软件包的最佳实践是什么?到目前为止,我正在考虑两种不同的选择:

  1. 使用AnyCPU构建一个NuGet,并将两个dll捆绑在软件包中。通过检查进程是否为64位,通过运行时解析正确的非托管dll。
  2. 构建两个不同的NuGet,一个针对x86,另一个针对x64。 NuGet软件包中仅包含正确的dll。

这里的最佳/标准做法是什么?还有其他更好的选择吗?

0 个答案:

没有答案