2017-06-01 9 views
0

私はVS2017で古いプロジェクトを作成しています。 私の変更は、開発環境で正常に動作します。 しかし、サーバーにビルドしようとすると、このエラーが発生します。私は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ではなかったので、これを修正するために何をする必要がありますか?開発中にOKをコンパイルして実行します。 – arame3333

+0

ビルドサーバーに更新されたツールをインストールします。そして/または新しいSDKフォルダを指すように設定を修正します。あなたはどのビルドサーバーを使用しているのか、どのようにプロジェクトをビルドしているのか説明していないので、より具体的なヘルプをするのは不可能です。 –

答えて

0

正しいビルドツールを使用するには、ビルドサーバーが必要です。あなたの場合は、C#6コンパイラが必要です。次の手順を実行することをお勧めします。 1. VS2015ビルドツール(またはそれ以上)をインストールします。 2.ビルド定義(xamlテンプレート)を開き、プロパティを変更します。

「MS:\ Program Files(x86)\ MSBuild \ 14.0 \ Bin」(VS2015の場合) 「C:\ Program Files(x86)\ Microsoft Visual Studio \ (VS2017の場合)

関連する問題