VS2012 Как установить выходной каталог для конфигурации AnyCPU в C # для папок x86 и x64 для соответствующих конфигураций решения?

У меня есть решение, которое содержит два C ++ и два C # проекта. Для решения у меня есть конфигурация Win32, которая имеет два файла C ++ как Win32 и два файла C # как AnyCPU, Решение x64 имеет C ++ как x64 и C # как AnyCPU,

Для решения Win32 файлы C ++ встраиваются в /x86/Release/ папку, и я установил файлы C # для вывода в ту же папку. Тем не менее, потому что он установлен в AnyCPUрешение x64 также имеет вывод C # в /x84/Release/ папка.

Я надеялся, что в VS2012 будет какой-то макрос, который позволит мне выбрать конфигурацию решения, чтобы я мог установить вывод в $(SolnConfig)/Release, но, похоже, ничего подобного нет.

Есть ли способ, которым я мог бы (относительно) непосредственно установить выход для AnyCPU в каталоги x86 и x64 для соответствующих решений?

0

Решение

Вы можете создать пользовательскую конфигурацию и определить отдельные выходные каталоги для проекта в соответствии с этой конфигурацией.
Посмотри Вот для деталей о том, как настроить это.

Затем вы можете создать пакетный файл, который будет размещать корзины в соответствии с некоторой пользовательской логикой, например:

set msBuildExe=%WINDIR%\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe

set configName=%1

set pluginReportsDir=..\..\..\..\Wcf\Plugins\PluginReports

echo ---
echo Backup common PluginReports reports
rem Since this is a post build event, the Common PluginReports is already built
echo ---------------------------
robocopy %pluginReportsDir%\bin\%configName%\ %pluginReportsDir%\bin\ PluginReports.dll PluginReports.pdb

echo ---
echo PluginReports for Site 3
echo ---------------------------
call %msBuildExe% %pluginReportsDir%\PluginReports.csproj /p:Configuration=%configName%Plugins_Site3 /t:Rebuild /noconsolelogger
move /y %pluginReportsDir%\bin\%configName%\PluginReports.dll %pluginReportsDir%\bin\PluginReports_Site3.dll
move /y %pluginReportsDir%\bin\%configName%\PluginReports.pdb %pluginReportsDir%\bin\PluginReports_Site3.pdb

Укажите пакетный файл как событие после сборки, и он скопирует файлы. Он также может выполнять избыточные сборки, если это необходимо.

0

Другие решения

Похоже, есть три настройки платформы: платформа решений, платформа проекта и цель платформы. Я пытался установить AnyCPU с уровня Project Platform, что привело к путанице из-за наличия одного и того же выходного каталога для Win32 и x64 на уровне Solution Platform.

Ответ: установите платформу решения на Win32 и платформу проекта на x86 из диспетчера конфигурации, а в свойствах проекта установите для параметра Platform Target для файлов C # значение AnyCPU. Повторите для x64.

0

По вопросам рекламы [email protected]