1

Здравствуйте, В проекте таких записей у меня очень много

AppState.AlertOD("Ошибка", $"Ошибка загрузки Guarantee.\n{obj.Error.Message}", ownwindow);

И во всех местах где написано так, показывает ошибку. Проект мне предал один человек а у него все работает.

Так как я начинающий не могу понять в чём проблема. Везде где знак доллара пишет:

Ошибка  553 В качестве оператора могут использоваться только выражения 
присваивания, вызова, инкремента, декремента, ожидания и создания нового 
объекта     `c:\users\user\desktop\project\od\dialogskr\guarantee.xaml.cs   497 55  OD`
Ruslan_K
  • 4,599
  • 2
  • 15
  • 29
Urma
  • 229

2 Answers2

3

Т.к. вы используете Visual Studio 2013, где по дефолту идет компилятор C# 5.0, вам следует либо поставить новую Visual Studio, либо обновить компилятор.

Обновить компилятор можно с помощью nuget package:

Install-Package Microsoft.Net.Compilers

https://www.nuget.org/packages/Microsoft.Net.Compilers/

Как верно заметил @Андрей, этим вы обновляете только компилятор, но IntelliSense в Visual Studio по-прежднему считает, что вы используете C# 5.0 и, как следствие, не понимает синтаксиса C# 6.0 и подчеркивает их как ошибки.

MihailPw
  • 6,384
  • Только в студии всё равно будет всё красненьким подчеркнуто (вроде), хотя запускаться будет нормально. Поэтому лучше использовать свежую студию 2015 или (что лучше) 2017 – Андрей NOP May 24 '17 at 08:00
1

Нужна либо Visual Studio 2015 и выше, либо заменить конструкции

 $"Ошибка загрузки Guarantee.\n{obj.Error.Message}"

на

string.Format("Ошибка загрузки Guarantee.\n{0}", obj.Error.Message)
srvr4vr
  • 3,486