Свойство OutputPath не установлено для проекта TFS2012

У меня есть сборка на нашем сервере Team Foundation, которая дает следующие противоречия:

C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Microsoft.Common.targets (610): Свойство OutputPath не установлено для проекта "Plugin.DeploymentTool.csproj". Пожалуйста, убедитесь, что вы указали правильную комбинацию конфигурации и платформы для этого проекта. Configuration='Release' Platform='x86'. Возможно, вы видите это сообщение, потому что вы пытаетесь построить проект без файла решения и указали нестандартную конфигурацию или платформу, которые не существуют для этого проекта.

Я не могу найти решение или почему я получаю эту ошибку. Но потом я смотрю на сгенерированный zip-файл, папка Binary пуста. Я пытался использовать x86, x64 и любой процессор, чтобы se, если есть какие-либо различия, которых нет.

Если я смотрю в файл проекта, он выглядит хорошо.

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
    <DebugSymbols>true</DebugSymbols>
    <DebugType>full</DebugType>
    <Optimize>false</Optimize>
    <OutputPath>bin\Debug\</OutputPath>
    <DefineConstants>DEBUG;TRACE</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
    <DebugType>pdbonly</DebugType>
    <Optimize>true</Optimize>
    <OutputPath>bin\Release\</OutputPath>
    <DefineConstants>TRACE</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
  </PropertyGroup>

3 ответа

Решение

Я нашел решение проблемы, которое оказалось довольно простым. Конфигурация по умолчанию в TFS Build выглядит следующим образом: Конфигурация: Выпуск, Платформа: Любой ЦП

Но в Visual Studio 2012 это выглядит так: Конфигурация: Выпуск, Платформа: AnyCPU

Решение состоит в том, чтобы удалить пространство между Any и CPU в TFS Build Platform. Теперь это работает отлично.

ОБНОВИТЬ

Эта проблема была исправлена ​​в VS2013.

Для интегрированных сборок Visual Studio Team Services (была Visual Studio Online) ответ @mortenstarck также помогает. В переменных вашей сборки укажите anycpu за BuildPlatform,


строить переменные


На переменную ссылаются на этапе сборки:

шаг строительства

В дополнение к другим ответам я заметил это:

  1. Для построения .sln (решение) вам нужно пространство, поэтому оно должно быть any cpu (обратите внимание на пространство).

  2. Для создания .csproj вам не нужно пространство, поэтому оно должно быть anycpu,

Другие вопросы по тегам