2017-03-09 116 views
8

我們在TFS 2015中有一個構建定義,這些構建定義在Visual Studio 2015項目和解決方案中運行良好。我們現在決定升級到Visual Studio 2017,因此我們希望在Visual Studio構建任務中定位Visual Studio 2017。我們已經在構建代理上安裝了Visual Studio 2017。不幸的是,Visual Studio構建任務中唯一可用的選項是2012,2013,2015和Latest。我們已經嘗試了最新版本,但是在構建代理上沒有找到Visual Studio 2017。它也不會與msbuild任務一起使用。TFS 2015 visual studio構建任務不支持VS 2017

+0

「已決定」「安裝在構建代理上」請告訴我們,這不是它看起來像......這樣的事情不應該被測試在生產環境中...... – swe

+1

誰甚至提到過生產環境?我根本不明白你的觀點。 – Quattordici

回答

1

似乎構建工具的更新通過VS2017安裝程序的命令行進行安裝。

查看docs瞭解詳情。

+0

我對構建代理上的構建工具沒有問題。問題在於tfs中的內置構建任務不知道如何找到2017構建工具。現在看來,我們將不得不採取命令行方式。 – Quattordici

+0

@Quattordici,如何使用MSBuild任務而不是Visual Studio Build Step,然後指定MSBuild 15.0的位置? –

+0

@ Cece-MSFT這也是我的第一個想法。它沒有工作,因爲它不會找到指定的路徑。並因此回退到舊的msbuild。很奇怪!我假設它正在尋找構建代理的路徑。 – Quattordici

2

VS2017 RTM最近發佈,而TFS2015之前發佈。這就是爲什麼在TFS2015服務器的VS Build Task中沒有VS2017選項。如果你升級你的服務器到最新的TFS2017,你會看到VS Build Task中的「Visual Studio」15「(預覽)」選項,它是VS2017預覽的版本。在該功能中,該選項將更新爲與VSTS相同的VS2017。

+0

感謝您的詳細信息。爲了驗證我們是否擁有公司TFS 2015服務器,並且沒有計劃將其升級到2017年路線圖,那麼我們不能在C#7中使用任何新的語言功能,因爲VS2017將無法識別。 – Tedford

+0

@Eddie - MSFT請指出VS2017不能與TFS 2015 Update 3一起使用的官方聲明。 – StingyJack

+0

@ Eddie-MSFT:我也遇到過這個問題,我的TFS 2017仍然沒有在VS版本中顯示Visual Studio 2017下拉菜單在VS生成任務。是否可以手動更新?如果是這樣,請讓我知道步驟。 – Bandara

1

我們正面臨類似的問題,我們無法更新自己,因爲它在公司層面上維護,我們無法承受那麼大的影響。 但是,我們的團隊希望切換到VS2017並利用C#7功能。這就是爲什麼我們嘗試將Visual Studio Build的構建步驟替換爲MSBuild。可惜這沒有按預期工作(我們在構建過程中遇到了一些錯誤)。

因爲我們的主要目標是使用C#7功能,所以我們尋找了一種方法,在構建服務器上仍然保留Visual Studio 2015的同時仍然可以實現這一點。我們最終使用了nuget包Microsoft.Net.Compilers,在項目中使用時,將使用該編譯器而不是已安裝的編譯器。 關於此問題的更多信息,請參見Thread

7

我有一個類似的問題,在我的生成代理服務器中安裝VS2017和配置的MSBuild指向我的MSBuild 15.0文件夾解析:

  1. 添加的MSBuild到您的構建步驟
  2. 在高級選項,擴大並填寫 '路徑的MSBuild' 像下面的圖片:

    'C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin' 
    

    enter image description here

+0

這是唯一可行的解​​決方案。有時在msbuild參數中添加'/ tv:15.0'是必要的 – StingyJack

0

只需添加另一件事:如果你使用自定義生成模板確保對其進行編輯和修改刀具路徑屬性值:

C:\ Program Files文件(x86)的\微軟的Visual Studio \ 2017 \ Enterprise \ MSBuild \ 15.0 \ Bin

相關問題