Я использую VS 2013 с .Net Framework 4.6. Я хочу использовать новые функции С# 6 (например, nameof
). Но я не смог его найти.
Должен ли я использовать VS 2015? Или выше .Net Framework?
Я использую VS 2013 с .Net Framework 4.6. Я хочу использовать новые функции С# 6 (например, nameof
). Но я не смог его найти.
Должен ли я использовать VS 2015? Или выше .Net Framework?
Да, для использования функций С# 6 вам нужен компилятор С# 6. Visual Studio 2013 не имеет компилятора С# 6. Visual Studio 2015 делает.
Были выпуски Roslyn для Visual Studio 2013, но они не реализуют окончательный С# 6: они фактически не реализуют все функции, а то, что они реализуют, отличается от окончательного поведения С# 6.
да, вам нужно использовать Visual Studio 2015. Он не поддерживается в VS 2013. Ссылки по теме: https://msdn.microsoft.com/en-us/library/dn986596.aspx
Вы не сможете использовать С# 6 в VS2013. Компилятор не поймет новый синтаксис С# 6, который вы пытаетесь использовать. Как добавить С# 6.0 в Visual Studio 2013?
В pre-VS2015 вы можете добавить следующий класс в свое решение и заменить все экземпляры nameof(
на NameOf.nameof(() =>
, как предложено в получить имя переменной или параметра
using System;
using System.Linq.Expressions;
namespace ICSharpCode.SharpZipLib
{
public class NameOf
{
public static String nameof<T>(Expression<Func<T>> name)
{
MemberExpression expressionBody = (MemberExpression)name.Body;
return expressionBody.Member.Name;
}
}
}
Если вы получаете эту ошибку в Teamcity, внесите следующие изменения, чтобы создать шаг для ее исправления.