繁体   English   中英

VS2012如何将C#的AnyCPU配置的输出目录设置为各个解决方案配置的x86和x64文件夹?

[英]VS2012 How to set output directory for C#'s AnyCPU configuration to x86 and x64 folders for respective solution configs?

我有一个包含两个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目录?

您可以创建一个自定义配置,并在该配置下为每个项目定义单独的输出目录。 请在此处查看有关设置方法的详细信息。

然后,您可以制作一个批处理文件,该文件将根据一些自定义逻辑来放置垃圾箱,如下所示:

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

将批处理文件指定为构建后事件,它将复制文件。 如果需要,它也可以执行过度构建。

看起来好像有三个平台设置:解决方案平台,项目平台和平台目标。 我试图从项目平台的水平,这引起了混淆对具有的解决方案平台级为Win32相同的输出目录和x64设置AnyCPU。

答:设置解决方案平台,以Win32和项目的平台,从配置管理器86,并设置目标平台为C#文件从项目的属性AnyCPU。 重复x64。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM