在Visual Studio中为项目创建目标OBJ文件夹

Cli*_*kas 8 msbuild compilation visual-studio

是否可以像创建BIN文件夹一样创建目标OBJ文件路径?您可以在项目的属性中设置输出路径.示例路径为:Bin\Debug\Windows Phone 7\Bin\Debug\NETMF\Bin\Debug .... \

这里的一个用例是我有多个针对不同平台的项目.在编译时,OBJ文件是共享的,而不是像bin文件夹那样分离出来.在编译时,您会遇到同时利用OBJ文件夹并引发错误的竞争条件.

Den*_*sky 7

这里我们谈论的是MSBUILD,您可以选择BaseIntermediaryOutputPath在项目中进行设置.如果您使用XML编辑器打开项目(.csproj,我假设),您将看到不同调试/发布配置组合的配置块.

这样的事情(分别编辑每个配置选项):

<PropertyGroup>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    <ProjectGuid>{A35097D8-80BC-4FA5-BECD-FF045C5566EC}</ProjectGuid>
    <OutputType>WinExe</OutputType>
    <AppDesignerFolder>Properties</AppDesignerFolder>
    <RootNamespace>WorkApplication</RootNamespace>
    <AssemblyName>WorkApplication</AssemblyName>
    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
    <FileAlignment>512</FileAlignment>
    <ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
    <BaseIntermediateOutputPath>E:\OBJ-TEST</BaseIntermediateOutputPath>
    <WarningLevel>4</WarningLevel>
  </PropertyGroup>
Run Code Online (Sandbox Code Playgroud)

  • 还要注意http://msdn.microsoft.com/en-us/library/bb629394.aspx以获取项目文件中的其他msbuild属性 (4认同)
  • 这里需要注意的是,您必须为该项目文件中的每个配置执行此操作.发布,调试,手臂,.... (3认同)