2017-06-01 53 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)