У меня есть группа из .cs
файлов, которые представляют собой тестовые примеры для определенных манипуляций с использованием API Roslyn. Поскольку они должны иметь действительный синтаксис компиляции, я хотел бы иметь Intellisense, Resharper и другие проверки времени перед компиляцией, доступные для этих файлов при записи в них, но не для их компиляции при построении решения (поскольку тест будет смотреть только на синтаксис).Добавить синтаксическую проверку (Intellisens, Resharper и т. Д.) В файл .cs без их компиляции
Теперь я мог бы создать другой проект только для этих тестовых файлов ввода (и убедиться, что он никогда не компилируется), но я предпочел бы сохранить их в тестовом проекте (где, я считаю, они принадлежат и для простоты). Мне все равно, не будут ли файлы в конечном итоге включены в решение, пока я могу получить синтаксическую проверку в конце (хотя это кажется маловероятным).
Сначала я думал, что могу просто исключить каталог из компиляции в .csproj
, но я не нашел такого свойства, которое бы это разрешило. Я слышал, что <CompileDependsOn>
потенциально может помочь мне здесь, но я точно не понимаю.
Мой прямой вопрос: возможно ли иметь синтаксическую проверку (Intellisense, Resharper и т. Д.) Для файлов, которые не будут компилироваться при построении проекта/решения, без необходимости их в отдельном незастроечном проект?
Я попытался просто изменить «Build Action» в свойствах файла .cs из «Скомпилировать» на что-то еще, и я все еще получаю синтаксическую раскраску, действия ReSharper и т. Д. –
Да, вы по-прежнему получаете раскраску на основе простых интерпретация синтаксиса (имена классов как голубые, операторы как синие и т. д.), но вы не получаете фактическую проверку типа или автозаполнение intellisense, которые вы ожидаете в скомпилированном файле.Например, исключение точки с запятой в конце инструкции или забывание о правильном закрытии оператора if с помощью скобки будет отображаться как ошибка, но использование несуществующего или недоступного метода в контексте класса не будет. Попробуйте закрыть и снова открыть файл после перехода на контент, если вы не видите, что я имею в виду. –