Свойство 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>
Ответы
Ответ 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
.