Свойство 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
,
На переменную ссылаются на этапе сборки:
В дополнение к другим ответам я заметил это:
Для построения .sln (решение) вам нужно пространство, поэтому оно должно быть
any cpu
(обратите внимание на пространство).Для создания .csproj вам не нужно пространство, поэтому оно должно быть
anycpu
,