Ответ 1
Вот что вам нужно сделать.
Сначала перейдите в Project-><project name> Properties...
и перейдите на вкладку "Сборка".
В текстовом поле с надписью "Условные символы компиляции" добавьте WIN32
для вашей платформы x86 (выберите ее в верхней части диалогового окна) и WIN64
для вашей платформы x64. Затем сохраните.
Обратите внимание, что если у вас есть один для "AnyCPU", вы, вероятно, захотите полностью удалить эту платформу, так как это будет небезопасно.
Затем перейдите в источник и напишите это:
#if WIN64
[DllImport("ZLIB64.dll", CallingConvention=CallingConvention.Cdecl)]
#else
[DllImport("ZLIB32.dll", CallingConvention=CallingConvention.Cdecl)]
#endif
Обратите внимание, что при просмотре источника одна из строк будет выглядеть так, как будто она была закомментирована, так как вся строка имеет серый шрифт. Эта линия является одной для "другой платформы". Если вы выберете платформу на панели инструментов, вы заметите, что раскраска синтаксиса следует примеру.
Конечно, после повторного чтения моего ответа я замечаю, что на самом деле вам не нужно помещать WIN32 в список условных символов, поскольку он не используется, но может быть полезно использовать другие места для #if для WIN32 вместо 64.