Вопросы по теме 'roslyn-code-analysis'

Пользовательские правила SonarQube, сгенерированные с помощью Roslyn SDK Generator, всегда имеют тип проблемы Code Smell
Я пытаюсь создать собственное правило SonarQube в VisualStudio 2015 с помощью генератора SDK Roslyn. Генератор работает нормально, и я могу опубликовать файл .jar на сервере SonarQube и использовать свое собственное правило в ежедневных сборках....
669 просмотров

Поддержка анализаторов Roslyn (.ruleset) в проектах Visual Studio 2017 .NET Core
Как добавить поддержку анализаторов Roslyn (.ruleset) в проекты Visual Studio 2017 .NET Core? В "project.json" он настраивается с помощью buildOptions : "buildOptions": { "additionalArguments": [ "/ruleset:rules.ruleset" ] },
3052 просмотров

Условно добавить операторы using в исправление кода Roslyn
Я использую API компилятора .NET для написания некоторых анализаторов кода / исправлений кода в Roslyn. Я хочу, чтобы исправление кода преобразовало следующий код: string.Format("{0} {1}", A, B) To StringExtensions.SafeJoin(" ", A, B)...
762 просмотров
schedule 01.12.2021

Как отключить анализаторы Roslyn при использовании msbuild из командной строки?
Анализаторы Roslyn устанавливаются как пакеты nuget, которые являются зависимостями анализаторов FxCop (также устанавливаются как пакеты nuget). Я включил полный анализ решения, как указано здесь: Как включить и отключить полный анализ решения для...
3631 просмотров
schedule 15.09.2021

Проверка параметров для метода с использованием Roslyn
Я хочу выполнить проверку параметров во время компиляции для метода расширения. Что-то вроде этого Вот пример кода моей программы для проверки public class Program { static void Main(string[] args) { var sample = new...
104 просмотров
schedule 18.09.2021

Visual Studio успешно компилируется, но Roslyn Balks
Я пишу анализатор кода C # и столкнулся с проблемой. Следующий файл исходного кода: using System; namespace J4JSoftware.Logging { // added to test SharpDoc [AttributeUsage( validOn: AttributeTargets.Class | AttributeTargets.Interface,...
45 просмотров
schedule 20.09.2021

Как получить содержащееся пространство имен вызываемого метода с помощью Roslyn, если этот метод не имеет информации о символах?
У меня есть приложение, которое позволяет пользователям писать код c-sharp, который сохраняется как библиотека классов для последующего вызова. Было установлено новое требование, согласно которому некоторые пространства имен (и методы, которые они...
40 просмотров
schedule 03.11.2021

Roslyn - CodeFixProvider запускается, но DiagnosticAnalyzer не для деструктора класса
Псевдокод для моего анализатора Мой тестовый класс: public class TestClass { ~TestClass() { } } Мой класс диагностического анализатора с методом анализа: public class TestClassAnalyzer : DiagnosticAnalyzer { public...
102 просмотров
schedule 02.01.2022

Могу ли я использовать анализатор roslyn из раствора, в котором он определен?
Насколько я понимаю, есть два способа распространять и использовать анализаторы roslyn: Как плагин Visual Studio Как пакет Nuget Я часто обнаруживаю, что хочу наложить определенные ограничения, специфичные для домена, вместе с удобными...
1323 просмотров

VS 2017 - предупреждения DotNetAnalyzers отображаются в выходных данных сборки, но не в анализе кода
Я вижу следующее в VS 2017 Enterprise на csproj, Project1, который создается на .Net 4.5.2: 18>------ Rebuild All started: Project: Project1, Configuration: Debug Any CPU ------ 18>C:\git\27844-2-StyleCop\company\Class1.cs(26,31,26,47):...
550 просмотров

Получение пространства имен класса
можете ли вы помочь мне узнать пространство имен из VariableDeclarationSyntax , StatementSyntax и IdentifierNameSyntax ? Я просто использую приведенный ниже код, но он всегда отвечает только пространству имен...
676 просмотров
schedule 25.05.2022

Анализаторы кода Roslyn - когда мне это использовать?
Я всегда был явным в своем коде при использовании членов экземпляра, добавляя к ним префикс this. и статических членов, добавляя им имя типа. Рослин, похоже, это не нравится, и вежливо предлагает вам опустить this. и Type. из своего кода, где...
569 просмотров
schedule 31.05.2022

Найдите символы производных интерфейсов в решении и связанных сборках
Что я пытаюсь сделать (работая с Roslyn/Microsoft.CodeAnalysis) Я пытаюсь найти все символы интерфейсов, которые наследуются от определенного интерфейса, в решении, а также в сборках, на которые есть ссылки. Моя цель — сделать это максимально...
73 просмотров

Как добавить собственный анализатор roslyn из локально размещенной DLL?
Я создал проект Roslyn Analyzer, который генерирует пакет nuget и его DLL. Я хочу использовать эту DLL в отдельном проекте анализа кода. Как я могу это сделать? Например, у меня есть следующий код: MSBuildLocator.RegisterDefaults(); var...
167 просмотров

Не удается получить пространство имен/ссылку в CSharpCompilation .net Core
У меня есть проект, в котором используется динамически скомпилированный код, и я перехожу с .net framework на .net core 3.1. Я не могу получить простой тестовый пример для включения newtonsoft.json.dll и получить сообщение об ошибке Тип или имя...
267 просмотров
schedule 24.07.2022

Roslyn Analyzer — поиск текущей конкретной реализации вызова метода интерфейса
Я пытаюсь написать анализатор Roslyn, который обнаруживает вызов метода из конкретной реализации интерфейса, но у меня возникают проблемы с определением типа реализации. Он правильно определяет метод, когда я использую переменную, типизированную...
319 просмотров

Roslyn — как обнаружить автоматически сгенерированные файлы кода?
Можно ли определить, был ли Microsoft.CodeAnalysis.Document автоматически сгенерирован инструментом? Например: foreach(var document in project.Documents) { if (!document.IsGeneratedCode()) { // TODO } } Глядя на...
108 просмотров
schedule 08.09.2022

Разрешение ссылок на сборки в Roslyn
Я пишу экстрактор метаданных для проектов С#. Он работает, создавая SyntaxTrees из исходных файлов через CSharpSyntaxTree.ParseText() , компилируя их через CSharpCompilation.Create() и затем анализируя символы в файле SemanticModel . Я...
82 просмотров

Определение необходимых сборок при компиляции проекта C#
Я пишу экстрактор метаданных для проектов С#. Я не использую MSBuildWorkspace, вместо этого использую CSharpSyntaxTree.ParseText() и CSharpCompilation.Create(). Проверяя диагностику компиляции, я заметил, что мне не хватает нескольких ссылок на...
30 просмотров

Проверка допустимости синтаксиса аргумента для вызова с помощью метода, имеющего IParameterSymbol
У меня есть 2 метода: public void Method1(object[] args); // In Class A public void Method2(string a, SomeClass b); // In Class B И 2 класса: public class SomeClass {} public class FromSomeClass : SomeClass {} И код, который я...
94 просмотров