Изначально проекты Web Deployment Projects (WDP) не работают с конфигурациями сборки x86 или x64. Это связано с тем, что веб-приложение, созданное в рамках одной из этих конфигураций, выводит результирующие сборки в другом месте, и WDP не знает, где искать библиотеки DLL.
Есть несколько вещей, которые вам нужно сделать, чтобы WDP работал с вашей конфигурацией x86.
Во-первых, ваш WDP, вероятно, не имеет конфигурации x86, вам нужно ее создать. Отредактируйте проект развертывания с помощью редактора XML в Visual Studio (или любом текстовом редакторе), в верхней части файла появится тег <propertyGroup>
(обычно второй) с условием Debug|AnyCPU
, например:
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<OutputPath>.\Debug</OutputPath>
<EnableUpdateable>true</EnableUpdateable>
<UseMerge>true</UseMerge>
</PropertyGroup>
Дублируйте весь этот тег и измените конфигурацию на Debug|x84
:
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<DebugSymbols>true</DebugSymbols>
<OutputPath>.\Debug</OutputPath>
<EnableUpdateable>true</EnableUpdateable>
<UseMerge>true</UseMerge>
</PropertyGroup>
Теперь сохраните файл и откройте диспетчер конфигурации (меню «Сборка»> «Диспетчер конфигурации») и проверьте, что ваш проект развертывания теперь имеет конфигурацию x86.
Теперь отредактируйте файл проекта веб-приложения с помощью текстового редактора и найдите элемент outputPath
в конфигурации Debug|x86
. Он должен иметь значение Bin\x86\Debug
. Это нужно изменить на Bin
:
<!-- Before -->
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
<OutputPath>Bin\x86\Debug\</OutputPath>
<!-- After -->
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
<OutputPath>Bin\</OutputPath>
Сохраните, закройте и перезагрузите ваш проект веб-приложения. Теперь мы дали указание веб-приложению поместить библиотеки DLL туда, где их ожидает WDP.
Установите конфигурацию сборки на x86
и соберите проект.
Промойте и повторите для Release и любых других конфигураций сборки, которые у вас могут быть.