Свойство OutputPath не установлено для этого проекта - PullRequest
98 голосов
/ 01 февраля 2012

Когда я пытаюсь скомпилировать свой проект из режима отладки x86 в Visual Studio 2008. Я получаю эту ошибку. Когда я посмотрел на группу свойств проекта, который жаловался, я вижу выходной путь установлен.

Вот раздел группы свойств для этого файла .csproj

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
  <DebugSymbols>true</DebugSymbols>
  <OutputPath>bin\x86\Debug\</OutputPath>
  <DefineConstants>DEBUG;TRACE</DefineConstants>
  <BaseAddress>285212672</BaseAddress>
  <FileAlignment>4096</FileAlignment>
  <DebugType>full</DebugType>
  <PlatformTarget>x86</PlatformTarget>
 <ErrorReport>prompt</ErrorReport>

Может ли кто-нибудь пролить свет на это?

ПРИМЕЧАНИЕ. Когда я скомпилировал этот Debug и любой процессор, он работал.

ОБНОВЛЕНО: Ошибка 1 Свойство OutputPath не задано для этого проекта. Пожалуйста, убедитесь, что вы указали правильную комбинацию конфигурации / платформы. Configuration = 'Debug' Platform = 'x86'

Ответы [ 17 ]

160 голосов
/ 29 июля 2015

Произошла точно такая же ошибка после добавления новой конфигурации через ConfigurationManager в VisualStudio.

Получилось, когда была добавлена ​​конфигурация «Производство» для всего решения (и каждого проекта). Элемент OutputPath не был добавлен к файлам csproj.

Чтобы исправить это, я перешел на вкладку «Сборка» свойств проекта, изменил значение OutputPath со \bin\Production\ на \bin\Production (удаленный конечный \) и сохранил изменения.Это принудительное создание элемента OutputPath в файле csproj, и проект успешно собран.

Звучит как глюк для меня.

26 голосов
/ 01 февраля 2012

Вы можете увидеть эту ошибку в VS 2008, если в вашем решении есть проект, который ссылается на сборку, которая не может быть найдена. Это может произойти, если сборка происходит из другого проекта, который не является частью вашего решения, но должен быть. В этом случае простое добавление правильного проекта к решению решит его.

Проверьте раздел «Ссылки» каждого проекта в вашем решении. Если у кого-то из них есть ссылка с красным крестиком рядом с ним, значит, вы нашли свою проблему. Эта ссылка на сборку не может быть найдена решением.

Сообщение об ошибке немного сбивает с толку, но я видел это много раз.

21 голосов
/ 22 сентября 2014

Если вы используете WiX, посмотрите на это (есть ошибка) http://www.cnblogs.com/xixifusigao/archive/2012/03/20/2407651.html

Иногда новые конфигурации сборки добавляются в файл .wixproj дальше по файлу, то есть отделяются от определений их родственных конфигураций другими несвязанными элементами XML.

Просто отредактируйте файл .wixproj, чтобы все секции <PropertyGroup>, которые определяют ваши конфигурации сборки, были смежными друг с другом. (Чтобы отредактировать .wixproj в VS2013, щелкните правой кнопкой мыши проект в обозревателе решений, выгрузите проект, снова щелкните правой кнопкой мыши-> Изменить YourProject.wixproj. Перезагрузите после редактирования файла.)

9 голосов
/ 18 января 2013

Я столкнулся с той же ошибкой, но проблема оказалась в том, что я создал новую конфигурацию в своем решении, которой не было в ссылочных сборках из другого решения.

Эту проблему можно решить, открывсвязанное решение и добавление в него новой конфигурации.

Этот пост дал мне идею проверить ссылочные сборки после того, как я уже подтвердил, что все проекты в моем решении имели правильную конфигурацию:

http://gabrielmagana.com/2010/04/solution-to-the-outputpath-property-is-not-set-for-this-project/

9 голосов
/ 01 февраля 2012

Ошибка, показанная в visual studio для проекта (скажем, A), не имеет проблем. Когда я посмотрел окно вывода для сборки построчно для каждого проекта, я увидел, что он жаловался на другой проект (B), который в проекте A упоминался как сборка. Проект B был добавлен в решение. Но в проекте А он не упоминался как ссылка на проект, а как ссылка на сборку из другого места. Это место содержит сборку, скомпилированную для платформы AnyCpu. Затем я удалил ссылку на сборку из проекта A и добавил проект B в качестве ссылки. Началось компиляция. Не уверен, как это исправление работало.

8 голосов
/ 09 марта 2017

Это произошло со мной, потому что я переместил следующую строку близко к началу файла .csproj:

  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets"/>

Он должен быть помещен после PropertyGroups, которые определяют вашу Configuration | Platform.

3 голосов
/ 03 октября 2013

У меня была такая же ошибка, поэтому я посмотрел на настройки проекта и там в разделе «Сборка» есть опция «Построить выходной путь».И значение было пустым.Поэтому я заполнил значение "bin \", ошибка исчезла.Это решило мою проблему.

2 голосов
/ 15 апреля 2015

У меня была такая же проблема после того, как я добавил новые конфигурации и удалил конфигурации "debug" и "release".В моем случае я использовал файл cmd для запуска процесса сборки и публикации, но была выдана та же ошибка. Решение для меня: В файле csproj следующее:

<Configuration Condition=" '$(Configuration)' == '' ">Debug< /Configuration>

устанавливал конфигурацию как «Отладка», если я не указал явную конфигурацию.После изменения значения узла с «debug» на мою пользовательскую конфигурацию все работало гладко.Надеюсь, что это также поможет тому, кто читает это:

2 голосов
/ 20 марта 2014

В моем случае встроенный адрес моего приложения был установлен на другом компьютере, который был выключен, поэтому я включил его и перезапустил VS, и проблема была решена.

2 голосов
/ 19 августа 2013

Я столкнулся с этой проблемой, когда добавлял проект в решение, а затем ссылался на него из другого проекта в том же решении - получил ссылку над желтым предупреждением, обратите внимание, что путь был пуст.

Решениебыло похоже на то, что предлагал @Amzath, мои проекты компилировались с разными целевыми фреймворками, например..NET 4.0 против 4,5.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...