2009-09-14 3 views
6

MSDN:Ошибка BaseOutputPath в Visual Studio 2008?

BaseOutputPath: Определяет базовый путь для выходного файла. Если это набор, MSBuild будет использовать OutputPath = $ (BaseOutputPath) \ $ (Configuration) \

Я пытался использовать MSBuild Project Property BaseOutputPath вместо указания OutputPath для каждой конфигурации & платформы но Visual Studio жалуется, когда компилирую:

Свойство OutputPath не предназначено для этого проекта. Убедитесь, что вы указали , что вы указали допустимую комбинацию конфигурации/платформы .

Я положил <BaseOutputPath>..\Binaries</BaseOutputPath> в первый безусловный <ProjectProperty>.

Я использую его неправильно или это известная ошибка в Visual Studio?

ответ

7

Скорее всего, ошибка в документах, чем в VS2008/MSBuild.

Вы всегда можете рассуждать о том, что вы хотите сделать с (выгоранием) осмотра, например. ваш файл проекта и файл Microsoft.Common.Targets, который он импортирует (обычно через, например, Microsoft.CSharp.targets; эти файлы живут, например,

c: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ Microsoft.Common .targets

) и найти всю логику MSBuild, которая в конечном итоге заполняет OutputPath.

В этом случае, я думаю, документы лежат прямо, и вы должны, например, явно говорят

<OutputPath>$(BaseOutputPath)\$(Configuration)</OutputPath> 

в безусловных свойствах файла проекта (и удалить OutputPath из условных свойств), чтобы сделать эту работу.

+0

Я вижу, но это действительно отрицает преимущество использования BaseOutputPath в первую очередь. Я мог бы просто использовать .. \ Binaries \ $ (Конфигурация). Спасибо за разъяснения! – 2009-09-14 22:25:17

Смежные вопросы