"свойство outputpath не задано для этого проекта" ошибка
У меня есть решение для нескольких проектов в Visual Studio 2008. Я просто добавил новую конфигурацию под названием Release-VersionIncrement в решение, указав конфигурацию "use release" в качестве базовой линии. Все файлы проекта были обновлены с этой конфигурацией. Однако, когда я пытаюсь скомпилировать конкретный проект с помощью этой конфигурации, я получаю следующую ошибку:
Ошибка 5 свойство OutputPath не набор для этого проекта. Пожалуйста, проверьте убедитесь, что вы указан допустимая конфигурация / платформа сочетание. Configuration= 'Release-VersionIncrement' Platform= 'AnyCPU' C:WINDOWSMicrosoft.NETFrameworkv3.5Microsoft.Common.targets 539 9 DataConversion
Что здесь происходит? Проект отлично компилируется в конфигурации Release или Debug.
25 ответов
обычно это происходит, когда свойство OutputPath файла проекта пустое. Файлы проекта просто MSBuild файлы. Для редактирования в Visual Studio: щелкните правой кнопкой мыши на проекте, выберите "выгрузить проект", затем щелкните правой кнопкой мыши на выгруженном проекте и выберите "Изменить"...".
найдите группу свойств Release-Versionincrement. Это должно выглядеть как
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release-VersionIncrement|AnyCPU' ">
<OutputPath>bin\Release-VersionIncrement\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>AnyCPU</PlatformTarget>
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
<ErrorReport>prompt</ErrorReport>
</PropertyGroup>
важный там это OutputPath, он существует для вашего файла проекта? Если не добавляйте его и попробуйте еще раз.
Я также видел эту ошибку, когда наш агент сборки был настроен для запуска платформы"любой CPU "(с пробелами, как показано в Visual Studio), а не"любой ЦП" (одно слово, указанное в файле проекта).
У меня была та же проблема, когда я сначала использовал MSBuild. Мое решение: определенно используйте свойство OutputPath. Вот так:
msbuild XXX.csproj /p:OutputPath=bin\Debug.
в нашем случае мы запускали сценарий сборки на наших коробках разработчиков HP. У HP есть некоторые переменные среды, которые они настроили для своих целей, и одна из них-платформа (используемая, по-видимому, для "HP Easy Setup").
удаление переменной среды платформы сработало.
вы также можете в будущем проверить свой скрипт сборки, указав платформу, т. е.msbuild /p:Platform=AnyCPU
.
Если Visual Studio специально жалуется ,что "Platform= 'BPC'", то вы можете легко исправить это, удалив переменную среды" платформа".
теперь перезапустите Visual Studio и вы хорошо идти.
Как "Ричард Дингуолл " намекнул, проблема связана с VS с использованием дисплей версия "любой ЦП "вместо версии MSBuild, которая фактически читает"любой ЦП"
перейдите в Build / New Build Definition или Edit Build Definition - > Process - > конфигурации для сборки, откройте диалог выбора конфигурации и в "платформа" вместо "любой ЦП", вручную добавить "любой ЦП"
Как было сказано, поле "выходной путь" должен быть установлен и он должен быть помещен до <Import Project="$(WixTargetsPath)" />
in .файла wixproj
я добавлял платформу x64 в мое решение сегодня, когда я столкнулся с этой проблемой.
в моем случае, ошибка чтения:
Встроенный $ / ProjectDirectory / Имяпроекта.csproj для целей по умолчанию. c:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets (484): свойство OutputPath не задано для project ProjectName.csproj файл'. Убедитесь, что вы указали допустимое сочетание конфигурации и платформы для данного проекта. Configuration='Debug' Platform='x64'. Возможно, вы видите это сообщение, потому что пытаетесь построить проект Без файла решения и указали конфигурацию или платформу, не существующую по умолчанию для этого проекта.
Я понял OutputPath
должно быть хорошо, так как это было существующее, рабочее решение VS. Поэтому я перешел к следующей подсказке- "допустимая комбинация конфигурации и платформы".
Аха! Visual Studio пытается построить Configuration='Debug', Platform='x64'
. Глядя на мой файл проекта, я понял, что x64 не был указан в качестве одной из возможных платформ. Другими словами, у меня были следующие записи (сокращенные):
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<PlatformTarget>x86</PlatformTarget>
<OutputPath>bin\x86\Debug\</OutputPath>
. . .
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
<PlatformTarget>x86</PlatformTarget>
<OutputPath>bin\x86\Release\</OutputPath>
. . .
</PropertyGroup>
простое исправление: просто добавьте записи x64!
я копирую / вставляю записи x86 и изменяю их для использования x64. Обратите внимание, что я также изменил пути, чтобы они не перезаписывали сборки x86:
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
<PlatformTarget>x64</PlatformTarget>
<OutputPath>bin\x64\Debug\</OutputPath>
. . .
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
<PlatformTarget>x64</PlatformTarget>
<OutputPath>bin\x64\Release\</OutputPath>
. . .
</PropertyGroup>
Я strugged с этим на некоторое время и затем также выгрузили, построили, а потом перезагрузка нарушителя проект в решение, и тогда в MSBuild правильно функционировал.
Как Скотт S, Я должен был удалить переменную среды "платформа".
затем перезапустите VS, и все в порядке: больше нет сообщения об ошибке...
проблема была связана с моей конфигурацией проекта. Вот сценарий:
решение ссылки:
Project X references Project Y
Проект Г
решение B (то, которое я пытаюсь построить) ссылки:
Проект X Проект Z
моим решением было создать конфигурацию с тем же именем для решения A, перестроить ее, а затем перестроить решение B. это исправило проблема.
У меня было такое же сообщение об ошибке. Это было вызвано ссылкой на проект, который был выгружен и не требовался компоновщиком (в противном случае он потерпел бы неудачу во время компиляции). Удаление оскорбительной ссылки решило проблему.
в моем случае (VS2010) я удалил строку в поле "OutputPath", которое находится на вкладке "Build", и оставил ее пустой. Затем я перестроил решение. Сборка прошла успешно, и VS вставил текущий каталог "./" в "поле" выходной путь"". Я заменил текущий каталог "./ "с моим путем ("bin\x64\Release\" -- достаточно сказать, что это точный путь к папке, который был VS жаловался в первую очередь), и перестроение было успешным снова.
в моем случае OutputPath было установлено свойство в файлах проекта. Но разгрузка, перегрузка, а затем восстановление исправили его.
когда я добавил новую конфигурацию решения в мое решение, я получил ошибку: "свойство OutputPath не установлено для проекта X. пожалуйста, проверьте, чтобы убедиться, что вы указали допустимую комбинацию конфигурации и платформы для этого проекта. Платформа конфигурация='ОК'='любой ЦП'. эта ошибка может также появиться, если какой-либо другой проект пытается следовать ссылке проекта к проекту для этого проекта, этот проект был выгружен или не включен в решение, и ссылка на проект не строится с использованием той же или эквивалентной конфигурации или платформы. ProjectY".
в моем случае проблема была вызвана выделенной частью описания ошибки. Проект X частью моего решения была ссылка проекта на проект другого решения (другой ветви).
Я решил эту проблему, изменив проект X, чтобы использовать ссылку проекта на проект в текущем решении. Надеюсь, это поможет кому-то с подобной проблемой.
в моем случае новый XML-блок "PropertyGroup" был создан в нижней части документа. Я только что заменил его после других тегов "PropertyGroup", и это решило проблему.
Я создал новый проект в новом решении, которое ссылается на существующие проекты. Эта ошибка возникает, когда я добавляю существующий проект (скажем, проект 1) и пытаюсь построить без добавления других проектов, на которые ссылается проект 1.
просто убедитесь, что все связанные проекты добавлены в новое решение, и ошибка исчезнет.
У меня была такая же ошибка, поэтому я посмотрел на настройки проекта, и там в разделе "сборка" есть опция "построить выходной путь". И ценность была пуста. Поэтому я заполнил значение " bin\", ошибка исчезла. Это решило мою проблему.
Если вы решили установить OutputPath как param, и ваш путь похож:bin\Release\
тогда не забудьте добавить \
в конце вот так:/p:OutputPath=bin\Release\\
мне потребовалось некоторое время, чтобы понять, что это так
У меня была та же проблема, и единственным решением, которое помогает, было установить конфигурацию сборки вручную в каждом проекте NCrunch.
откройте окно NCrunch, где вы можете увидеть состояние каждой сборки и где вы можете увидеть, что сборка терпит неудачу. Щелкните правой кнопкой мыши на проекте, который не удается построить, и нажмите "Настроить выбранный компонент", там вы увидите в разделе "настройки сборки" свойство "использовать конфогурацию сборки" установите его, например, "отладка" и свойство" использовать платформу сборки" это, например,"AnyCPU". (Обратите внимание, что настройки сборки и настройке должны существовать в настройках konfigration)
сделайте это для всех ваших проектов, но не для тестового проекта. После этого у меня все хорошо.
У меня была та же проблема, я исправил ее, добавив недостающие конфигурации в проект, который терпел неудачу.
BUILD - > Configuration Manager ->
В Колонке Конфигурации Добавить
Примечание: это произошло только потому, что у меня есть пользовательская конфигурация, а недавно созданные проекты не имели конфигурации.
Если кто-то получает это в своих журналах NCrunch, проверьте, если PropertyGroup
определение значений 'Debug'/ 'Release' и 'AnyCPU' / 'x86', расположенных до группы свойств, использующие эти значения в их состоянии.
<PropertyGroup>
<!-- this one first -->
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<XXX>...</XXX>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
<XXX>...</XXX>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
<XXX>...</XXX>
</PropertyGroup>
работал для меня.
в моем случае я попытался переместить группу свойств, содержащую мою пользовательскую конфигурацию, ниже стандартных. Это решило все за меня.