У меня есть многопроектное решение в Visual Studio 2008. Я только что добавил к решению новую конфигурацию под названием Release-VersionIncrement, указав конфигурацию «использовать выпуск» в качестве базовой. Все файлы проекта были обновлены с этой конфигурацией. Однако когда я пытаюсь скомпилировать конкретный проект с использованием этой конфигурации, я получаю следующую ошибку:
Ошибка 5 Свойство OutputPath не задано для этого проекта. Убедитесь, что вы указали допустимую комбинацию конфигурации / платформы. Configuration = 'Release-VersionIncrement' Платформа = 'AnyCPU' C: \ WINDOWS \ Microsoft.NET \ Framework \ v3.5 \ Microsoft.Common.targets 539 9 DataConversion
Что тут происходит? Проект отлично компилируется в конфигурации Release или Debug.
источник
Ответы:
Обычно это происходит, когда свойство 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, существует ли он для вашего файла проекта? Если нет, добавьте и попробуйте еще раз.
источник
Я также видел эту ошибку, когда наш агент сборки был настроен на запуск платформы « Любой ЦП » (с пробелами, как показано в Visual Studio), а не « AnyCPU » (одно слово, как указано в файле проекта).
источник
msbuild myproj.sln /p:Configuration=Debug /p:Platform="Any CPU"
было хорошо, однако при сборке проекта мне пришлось опустить пробел в Any CPU:msbuild myproj.proj1.csproj /p:Configuration=Debug /p:Platform=AnyCPU
чтобы подавить ошибку свойства Outputpath.У меня была такая же проблема, когда я сначала использовал MSBuild. Мое решение: обязательно использовать свойство OutputPath. Как это:
источник
В нашем случае мы запускали сценарий сборки на наших ящиках разработчика HP. У HP есть некоторые переменные среды, которые они настроили для своих целей, и одна из них - PLATFORM (используется, по-видимому, для «HP Easy Setup»).
Удаление переменной среды PLATFORM сработало.
Вы могли бы также Перспективные сценарии сборки, указав платформу, то есть
msbuild /p:Platform=AnyCPU
.источник
Если Visual Studio конкретно жалуется, что «Platform = 'BPC'», вы можете легко исправить это, удалив переменную среды «Platform».
Теперь перезапустите Visual Studio, и все готово.
источник
Как намекнул Ричард Дингволл , проблема связана с VS, использующим отображаемую версию « Any CPU » вместо версии MSBuild, которая на самом деле читает « AnyCPU ».
Перейдите в Build / New Build Definition или Edit Build Definition -> Process -> Configurations to build, откройте диалоговое окно выбора конфигурации и в « Платформе » вместо выбора « Any CPU » вручную добавьте « AnyCPU »
источник
Как было сказано, OutputPath должен быть установлен И он должен быть помещен перед
<Import Project="$(WixTargetsPath)" />
файлом .wixproj.источник
Я удалил
Platform
переменную окружения (был BNB или что-то в этом роде). Проблема ушла.источник
Я добавлял платформу 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>
источник
Некоторое время я боролся с этим, а затем выгрузил, построил и перезагрузил проблемный проект в решении, после чего MSBuild заработал правильно.
источник
Как Скотт С., мне пришлось удалить переменную среды «Платформа» .
Затем перезапустите VS, и все в порядке: больше сообщений об ошибке ...
источник
Проблема была связана с конфигурацией моего проекта. Вот сценарий:
Ссылки на решение A:
Решение B (то, которое я пытаюсь построить) ссылается на:
Мое решение состояло в том, чтобы создать конфигурацию с тем же именем для Решения A, перестроить ее, а затем перестроить Решение B. Это устранило проблему.
источник
У меня было такое же сообщение об ошибке. Это было вызвано наличием ссылки на проект, который был выгружен и не требовался компоновщику (в противном случае он завершился бы ошибкой во время компиляции). Удаление оскорбительной ссылки решило проблему.
источник
В моем случае (VS2010) я удалил строку в поле «Путь вывода», которое находится на вкладке «Сборка», и оставил его пустым. Затем я перестроил раствор. Сборка прошла успешно, и VS вставил текущий каталог "./" в "OutputPath". Я заменил текущий каталог "./" на свой путь ("bin \ x64 \ Release \" - достаточно сказать, что это точный путь к папке, на которую изначально жаловался VS), и перестройка снова прошла успешно.
источник
В моем случае свойство OutputPath было установлено в файлах проекта. Но разгрузка, перезарядка, а затем восстановление исправили это.
источник
Когда я добавил новую конфигурацию решения в свое решение, я получил сообщение об ошибке: «Свойство OutputPath не установлено для проекта X. Убедитесь, что вы указали допустимую комбинацию конфигурации и платформы для этого проекта. Configuration = 'QA 'Platform =' AnyCPU '. Эта ошибка также может появиться, если какой-либо другой проект пытается следовать межпроектной ссылке на этот проект, этот проект был выгружен или не включен в решение, а ссылающийся проект не сборка с использованием той же или эквивалентной конфигурации или платформы. ProjectY ".
В моем случае проблема была связана с выделенной частью описания ошибки. В Project X моего решения была ссылка на проект ProjectY другого решения (другая ветка).
Я решил эту проблему, изменив проект X для использования ссылки проекта на ProjectY в текущем решении. Надеюсь, это поможет кому-то, у кого есть аналогичная проблема.
источник
В моем случае новый блок XML «PropertyGroup» был сгенерирован внизу документа. Я только что заменил его после других тегов «PropertyGroup», и это устранило проблему.
источник
Я создал новый проект в новом решении, которое ссылается на существующие проекты. Эта ошибка возникает, когда я добавляю существующий проект (скажем, проект 1) и пытаюсь выполнить сборку без добавления других проектов, на которые ссылается проект 1.
Просто убедитесь, что все соответствующие проекты добавлены в новое решение, и ошибка исчезнет.
источник
У меня была такая же ошибка, поэтому я посмотрел настройки проекта и там в разделе «Сборка» есть опция «Путь вывода сборки». И значение было пустым. Итак, я ввел значение "мусорное ведро", ошибка исчезла. Это решило мою проблему.
источник
Если вы решили установить OutputPath в качестве параметра, и ваш путь такой:
bin\Release\\
тогда не забудьте добавить\
в конце вот так:/p:OutputPath=bin\Release\\\\
мне потребовалось время, чтобы понять, что это такисточник
У меня такая же проблема. Я исправил это, очистив и перестроив проекты.
источник
У меня была такая же проблема, и единственное решение, которое помогло, - это установить конфигурацию сборки вручную в каждом проекте NCrunch.
Откройте окно NCrunch, где вы можете увидеть статус каждой сборки и где вы можете увидеть, что сборка завершилась ошибкой. Щелкните правой кнопкой мыши проект, который не может быть построен, и нажмите «Настроить выбранный компонент» там, где вы видите, в разделе «Параметры сборки» свойство «Использовать конфигурацию сборки» установите для него, например, «Отладка», а свойство «Использовать платформу сборки» установите для него например "AnyCPU". (Обратите внимание, что установленные вами параметры сборки и конфигурации должны существовать в ваших настройках конфигурации)
Сделайте это для всех ваших проектов, но не для вашего тестового проекта. После этого у меня все работает нормально.
источник
У меня была такая же проблема, я исправил ее, добавив недостающие конфигурации в проект, который терпел неудачу.
В столбце конфигурации добавить
Примечание: это произошло только потому, что у меня есть настраиваемая конфигурация, а у вновь созданных проектов не было конфигурации.
источник
Если кто-то получает это в своих журналах 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>
Работал у меня.
источник
В моем случае я попытался переместить группу свойств, содержащую мою настраиваемую конфигурацию, ниже стандартных. Это решило это за меня.
источник
Только что это было с VS2015 Professional:
Это также жонглирование несколькими проектами между отладкой / выпуском и разными целями. В какой-то момент я возился с конфигурациями сборки и знаю, что это может испортить VS, поэтому я вытащил их из репозитория. По-прежнему ничего хорошего. OutputPath был установлен, различий с заведомо исправным состоянием больше не было, поэтому определенно что-то не так с моей локальной установкой.
Открыл установщик VS2015 и нажал «Восстановить», и вуаля ... вернулся в нормальное состояние (по крайней мере, пока!)
источник
Для меня это была строчка в конфигурации пакета NuGet. Избавьтесь от всего пакета, связанного с вашим файлом проекта, и посмотрите, как оживают (сохраните изменения). Затем снова наращивайте его по частям. Я свел его к этой строке, которую мне пришлось удалить:
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
У меня проблема возникла после обновления пакетов NuGet (в основном, анализатора FxCop).
источник