2013-10-22 63 views
14

我對我們的團隊基礎服務器構建其給出了這樣的交戰:該OutputPath屬性未設置項目TFS2012

C:\ WINDOWS \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Microsoft.Common .targets (610):未爲項目 'Plugin.DeploymentTool.csproj'設置OutputPath屬性。請檢查以確保 已爲此項目指定了配置和平臺的有效組合。配置='發佈'平臺='x86'。您可能在 看到此消息,因爲您正在嘗試構建一個解決方案文件而沒有 的項目,並且指定了此項目不存在的非默認配置或 平臺。

我找不到任何解決方案或爲什麼我得到此錯誤。但後來我看着生成的zip文件,Binary文件夾是空的。我曾嘗試使用x86,x64和任何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> 
+0

您爲構建定義配置了什麼配置?查看消息,Build試圖使用x86,並且您只有AnyGU的PropertyGroups。 – DaveShaw

+0

@DaveShaw。然後,我看看沒有配置的構建摘要,它使用Debug | AnyCPU。但如果我配置配置,如果給。我錯誤。我聲明使用Debug |的項目任何CPU。 – mortenstarck

回答

42

我發現問題的解決方案,結果是一個非常簡單的問題。 在TFS默認配置構建這個樣子的: 配置:發行,平臺:任何CPU

但在Visual Studio 2012,它看起來是這樣的: 配置:發行,平臺:AnyCPU

解決方案是在TFS Build Platform中刪除Any和CPU之間的空間。現在它完美地工作。

UPDATE

問題已在VS2013糾正。

+0

我已經在命令行構建中自己完成了,我永遠不會記得它是否有空格:)。很高興你找到了它。 – DaveShaw

+0

你能在命令行中顯示這看起來像什麼嗎? – ganders

+1

好眼睛,非常感謝分享。 – Justin

10

對於Visual Studio Team Services(是Visual Studio Online)集成版本,@ mortenstarck的答案也可以實現。在構建的變量中,爲BuildPlatform指定anycpu


build variables


的變量在構建步驟參考:

build step

+0

可以確認這個修復了VSTS中的問題。謝謝。 – Barrie

+1

我的天啊,這個簡單的微軟,請修復這個... – CularBytes

7

除了其他的答案,我已經注意到了這一點:

  1. 對於構建的.sln(解決方案),你所需要的空間,所以它必須是any cpu(注意空間)。

  2. For building a 。csproj,你不需要的空間,所以它必須是anycpu

相關問題