18

我在我们的 Team Foundation 服务器中有一个构建,它给出了这样的交战:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.Common.targets (610):未为项目“Plugin.DeploymentTool.csproj”设置 OutputPath 属性。请检查以确保您为此项目指定了有效的配置和平台组合。配置='发布'平台='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>
4

3 回答 3

46

我找到了解决问题的方法,结果证明是一个非常简单的方法。TFS Build 中的默认配置如下所示:配置:发布,平台:任何 CPU

但在 Visual Studio 2012 中,它看起来像这样:配置:发布,平台:AnyCPU

解决方法是在 TFS Build Platform 中去掉 Any 和 CPU 之间的空间。现在它完美地工作了。

更新

该问题已在 VS2013 中得到纠正。

于 2013-10-22T13:43:12.950 回答
14

对于 Visual Studio Team Services(以前是 Visual Studio Online)集成构建,@mortenstarck 的回答也可以解决问题。在构建的变量中,指定anycpufor BuildPlatform


构建变量


该变量在构建步骤中被引用:

构建步骤

于 2016-04-26T15:06:55.920 回答
12

除了其他答案,我注意到这一点:

  1. 为了构建.sln(解决方案),您需要空间,所以它必须是any cpu(注意空间)。

  2. 对于构建.csproj,您不需要空间,所以它必须是anycpu

于 2017-02-09T16:50:48.430 回答