web-dev-qa-db-ja.com

プロジェクトTFS2012のOutputPathプロパティが設定されていません

Team Foundationサーバーにビルドがあり、次のような問題が発生します。

C:\ Windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.Common.targets(610):プロジェクト 'Plugin.DeploymentTool.csproj'のOutputPathプロパティが設定されていません。このプロジェクトの構成とプラットフォームの有効な組み合わせを指定していることを確認してください。 Configuration = 'Release' Platform = 'x86'。ソリューションファイルなしでプロジェクトをビルドしようとしていて、このプロジェクトに存在しないデフォルト以外の構成またはプラットフォームを指定したために、このメッセージが表示される場合があります。

解決策が見つからない、またはなぜこのエラーが発生するのか。しかし、生成されたZipファイルを見ると、Binaryフォルダーは空です。 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>
18
mortenstarck

私は問題の解決策を見つけましたが、それは非常に単純なものであることがわかりました。 TFSビルドのデフォルトの構成は次のようになります。構成:リリース、プラットフォーム:任意のCP

しかし、Visual Studio 2012では、次のようになります。構成:リリース、プラットフォーム:AnyCP

解決策は、TFSビルドプラットフォームのAnyとCPUの間のスペースを削除することです。今では完全に機能します。

[〜#〜]更新[〜#〜]

この問題はVS2013で修正されています。

46
mortenstarck

Visual Studio Team Services(以前はVisual Studio Online)の統合ビルドの場合、@ mortenstarckの回答でもうまくいきます。ビルドの変数で、anycpuBuildPlatformを指定します。


build variables


変数はビルドステップで参照されます:

build step

13
Brett

他の答えに加えて、私はこれに気づきました:

  1. 。sln(ソリューション)を構築するには、スペースが必要なので、any cpuである必要があります(通知スペース)。

  2. 。csprojを構築する場合、スペースは必要ないため、anycpuである必要があります。

11
CodingYoshi