Я строю проект C # с зависимостью от неуправляемой библиотеки, которая доступна как в x64, так и в x86. Проект будет построен и обслуживается как NuGet. Моя структура проекта выглядит так:
Project
Lib/unmanaged_lib_x64.dll
Lib/unmanaged_lib_x86.dll
NuGet будет использоваться проектами C #, ориентированными на разные платформы AnyCPU / x64 / x86. Какова лучшая практика поставки пакета NuGet для обеих платформ? Пока что я рассматриваю два разных варианта:
- Создайте один NuGet с AnyCPU и объедините обе библиотеки в пакет. Разрешите правильную неуправляемую dll через время выполнения, проверив, является ли процесс 64-битным.
- Создайте два разных NuGets, один из которых нацелен на x86, а другой на x64. Включите только правильную DLL в пакет NuGet.
Какая лучшая / стандартная практика здесь? Есть ли другие, лучшие варианты?