Как установить выходной каталог для проекта C ++, созданного с помощью msbuild?

У меня есть файл MSBuild .proj, который компилирует смесь проектов C # и C ++.

Проекты C # компилируют выходные данные (.exe / .dlls) в указанный мной OutputPath, но когда я указываю OutputPath для проектов C ++ (который вызывает vcbuild.exe), OutputPath игнорируется и вместо этого переходит в каталог, указанный на страницах свойств. для .vcproj.

Вот моя задача MSBuild:

    <MSBuild Projects="$(SourceFolder)\$(NativeSolutionName)"
             Targets="$(BuildTargets)"
             Properties="Configuration=$(Configuration);PlatformName=Win32;OutputPath=$(ToolsOutputDir)">
    </MSBuild>

Как я могу указать, что выходные файлы C ++ должны идти в тот же каталог, что и выходные файлы C # $ (ToolsOutputDir)?


person NicJ    schedule 14.01.2009    source источник


Ответы (1)


Я смог выполнить эту работу, выполнив следующие действия:

1) Установка библиотеки задач Microsoft SDC MSBuild

2) На страницах свойств для проектов C ++ установите для выходного каталога значение $(OutputPath).

3) Добавление задачи SDC для установки переменной среды OutputPath перед сборкой проектов C ++ через VCBuild:

    <Microsoft.Sdc.Tasks.SetEnvironmentVariable Variable="OutputPath" Value="$(ToolsOutputDir)" Target="Process"/>

    <!-- Build any CPP code x86 -->
    <MSBuild Projects="$(SourceFolder)\$(NativeSolutionName)"
             Targets="$(BuildTargets)"
             Properties="Configuration=$(Configuration);PlatformName=Win32;OutputPath=$(ToolsOutputDir)">
    </MSBuild>
person NicJ    schedule 15.01.2009