2017-06-01 42 views
0

我正在處理VS2017中的舊項目。 我的更改在開發環境中正常工作。 但是當我嘗試構建到服務器時,出現此錯誤;CAn不從VS2017構建和部署舊項目

Models\HoldingCompany.cs (21): Unexpected character '$' 

受影響的行是;

public override string ToString() 
{ 
    return $"{this.Name} - {this.VatRegistrationNumber}"; 
} 

現在,這是事實,該項目最初不是寫在C#6 那麼,我需要做的,解決這一問題?我在要部署的服務器上安裝.Net Framework 4.6。 我搜索了一下,試圖找到我還需要做什麼,但我還沒有拿出任何東西。 我正在使用原始的XAML構建定義。 這是我的日誌文件:https://1drv.ms/t/s!ArKf9AZKW_zWgQVzxitLQzMWjfSh

+1

而且?這條線是什麼?爲什麼你認爲Visual Studio有任何問題?你提到一個構建服務器。 *構建服務器*使用什麼?我懷疑它沒有使用Visual Studio。它使用了正確的msbuild工具和編譯器嗎?您是否正在使用插值字符串?如果服務器上的構建工具是舊的,或者語言版本是*不*至少6,則會出現此類錯誤 –

+0

更新了問題。這是一個新的C#6功能。該代碼最初不是C#6,所以我需要做些什麼來解決這個問題?它編譯並運行在開發中。 – arame3333

+0

在構建服務器上安裝更新的工具。和/或修復設置以指向更新的SDK文件夾。您尚未解釋您使用的是哪個構建服務器,或者您如何構建項目,因此無法提供更具體的幫助。 –

回答

0

您需要構建服務器才能使用正確的構建工具。在您的情況下,您需要C#6編譯器才能啓動,因此我建議您執行以下步驟: 1.安裝VS2015構建工具(或更高版本) 2.打開您的構建定義(xaml模板)並修改ToolPath屬性以指向您的服務器機器中的正確文件夾:

「C:\ Program Files(x86)\ MSBuild \ 14.0 \ Bin」(如果VS2015) 「C:\ Program Files文件(x86)\ Microsoft Visual Studio \ 2017 \ Enterprise \ MSBuild \ 15.0 \ Bin「 (如果VS2017)