Моя компания имеет TFS 2013.
У меня есть проект с использованием функций С# 6.0.
Моя команда не имеет прямого доступа к серверу сборки. VS2015 пока не установлен, но люди, которые управляют сервером, хотят установить инструменты сборки 2015 года.
В то же время я установил пакет Microsoft.Net.Compilers NuGet, как указано в ответах на С# 6.0 TFS Builds и несколько других вопросов здесь.
Некоторые проекты в решении уже установлены: (проект Asp.Net MVC 5 и проект Web API.)
Когда решение построено, TFS использует компилятор Rosyln из пакета для некоторых проектов и компилятор по умолчанию для других.
- Я удалил и снова добавил пакет.
- Я пробовал переключиться между версиями 1.0.0, 1.1.0 и 1.3.2 пакета.
- Я открыл файлы .csproj бок о бок, чтобы искать тонкие отличия.
- Я создал несколько решений и несколько определений построения из тех же проектов, чтобы увидеть, вызвала ли какая-то комбинация проблема.
- Один из проектов всегда строится с помощью компилятора по умолчанию, когда он является частью одной сборки и с компилятором Roslyn при сборке как часть другого.
Два веб-проекта никогда не используют компилятор Roslyn. Есть еще 3 библиотеки, одно консольное приложение и полнофункциональные проекты, содержащие тесты на единицу/интеграцию. За исключением одного проекта (одной из библиотек), который ведет себя по-разному, в зависимости от того, в какой структуре он находится, все проекты кажутся непротиворечивыми, в которых они используют
Что мне здесь не хватает? Почему TFS может использовать компилятор пакета для некоторых проектов, но не для других?
Отбор ошибок сборки: Использование nameof:
SomeController.cs (53): The name 'nameof' does not exist in the current context
статический, используя:
RedactedTests.cs (5): Identifier expected; 'static' is a keyword
RedactedTests.cs (5): Expected class, delegate, enum, interface, or struct
нулевой оператор коалесценции:
InterestingClassName.cs (40): Invalid expression term '.'
InterestingClassName.cs (40): Syntax error, ':' expected
InterestingClassName.cs (40): Invalid expression term '.'
InterestingClassName.cs (40): Syntax error, ':' expected
выражение bodied свойство:
MyClass.cs (11): ; expected
MyClass.cs (11): Method must have a return type
MyClass.cs (11): Type expected