Лучшая возможность справиться с этим - использовать версию x86 локально с Visual Studio и версию x64 на сервере с IIS.Для этого вам нужно скачать обе версии - скопировать одну в папку lib \ x86, а другую в lib \ x64. После этого вам нужно изменить файл (ы) проекта - Visual Studio поддерживает условные ссылки.Добавьте следующий раздел в ваш файл проекта:
<PropertyGroup>
<ReferencesPath Condition=" '$(Platform)' == 'x86' ">..\Lib\x86</ReferencesPath>
<ReferencesPath Condition=" '$(Platform)' == 'x64' ">..\Lib\x64</ReferencesPath>
</PropertyGroup>
После этой ссылки odp.net может выглядеть примерно так:
<Reference ... processorArchitecture=$(Platform)">
<SpecificVersion>False</SpecificVersion>
<HintPath>$(ReferencesPath)\Oracle.DataAccess.dll</HintPath>
<Private>True</Private>
</Reference>
Таким образом, когда вы можете локально собрать как x86 и на сервереx64 и всегда будет указываться правильная версия Oracle.DataAccess.dll.
В качестве альтернативы, если вы хотите использовать только версию x64, чем придерживаться IIS, даже если вы работаете локально ИЛИ вы можете попытаться запуститьверсия Cassini с открытым исходным кодом в режиме x64 (http://cassinidev.codeplex.com).
. Для меня лучшая возможность - ссылаться на обе версии, как описано выше - какое-то время это работало хорошо для всех в моей команде.