Подтвердить что ты не робот

Свойство 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 файл, двоичная папка пуста. Я попытался использовать x86, x64 и Any CPU, если есть какая-либо разница, которых нет.

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

<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>
4b9b3361

Ответ 1

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

Но в Visual Studio 2012 это выглядит так: Конфигурация: Release, Platform: AnyCPU

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

UPDATE

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

Ответ 2

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


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


Эта переменная указана на этапе сборки:

шаг сборки

Ответ 3

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

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

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