Использование VS2010 под Windows 32 или 64 бит.Наше приложение C # вызывает стороннюю DLL (управляемую), которая взаимодействует с неуправляемой DLL.Сторонний API-интерфейс DLL выглядит идентичным в 32- или 64-разрядном режиме, хотя под ним находится ссылка на 32- или 64-разрядный неуправляемый DLL.
Мы хотим, чтобы наше приложение C # работало в 32- или 64-разрядной ОС, в идеале оно будет автоматическиОпределите ОС и загрузите соответствующую библиотеку DLL 32-й стороны - с помощью простого фабричного класса, который тестирует среду.Таким образом, самым подходящим решением будет папка времени выполнения, содержащая: OurApp.exe 3rdParty32.DLL 3rdPartyUnmanaged32.DLL 3rdParty64.DLL 3rdPartyUnmanaged64.DLL
Однако интерфейс для управляемых DLL-библиотек 3rdParty 32 и 64 идентичен, поэтому оба не могут бытьупоминается в том же проекте VS2010: при добавлении второго отображается предупреждающий треугольник, и на него нет ссылки.
Является ли мой единственный ответ на создание двух дополнительных библиотечных DLL-проектов для ссылок на 3-й части 32-й и 64-й библиотеки DLL?Таким образом, я бы закончил с этим расположением проекта: Проект 1: Создает OurApp.exe, динамически создает объект для проекта2 или проекта3.Проект 2: Сборка OurApp32.DLL, которая ссылается на 3rdParty32.dll Проект 3: Сборка OurApp64.DLL, которая ссылается на 3rdParty64.dll