roslyn-code-analysis相关内容
使用Roslyn,确定Visual Basic文档成员的唯一机制似乎是: var members = SyntaxTree.GetRoot().DescendantNodes().Where(node => node is ClassStatementSyntax || node is FunctionAggregationSyntax || node i
..
我们的组织使用包含我们组织的StyleCop.Analyzer设置的规则集文件。这位于源代码管理中,我们组织中所有解决方案中的所有项目都引用此文件。如果我编辑规则集(通过项目属性->;代码分析选项卡),我会看到一条消息,提示我将规则集迁移到editorconfig文件。有人能解释一下我为什么要这么做吗?两者有什么不同? 我还注意到,在VS Tools->;Options->;Text
..
如何在 Visual Studio 2017 .NET Core 项目中添加对 Roslyn Analyzer(.ruleset) 的支持?在“project.json"中使用 buildOptions 进行配置: "buildOptions": {"additionalArguments": ["/ruleset:rules.ruleset"]}, 解决方案 只需编辑 .csproj 文
..
自从升级到 VS 2015 以来,我的团队遇到了一些随机的古怪事情,我确信 Microsoft 现在正在解决这些问题.一个非常烦人的问题是我们似乎丢失了项目引用,尤其是在分支之后.昨天我开始研究我们解决方案的一个新分支,结果发现类型无法识别并且命名空间 using 被认为是不必要的(因为它们用于突然变得无法识别的类型). 项目中的引用没有显示任何表示引用有问题的图标,但只是为了看看它是否有效
..
我正在尝试将所有内容从 Entity Framework 6.3 移植到 Entity Framework Core 2.1.2,这是我第一次使用 EF Core.我有 2 个项目,一个是我的核心或基础设施项目,包含所有实体模型、DB 上下文和存储库,另一个是 asp.Net MVC,它是我的启动项目并使用核心项目的所有服务.这两个项目都使用 .NetStandard Library 2.0.3
..
我希望为我的方法计算对外部数据的访问指标.此外,我想知道我的方法从哪些对象访问字段和属性,以确定功能嫉妒代码异味的存在. 对于这个例子: 公共类 DoctorService{私人名单_医生;公共医生 FindAvailableDoctor(DateRange timeSpan){foreach(_doctors 中的 d 博士){foreach(d.HolidayDates 中的 Date
..
我有 Visual Studio 2015 专业版(在 Windows 7 中)和 Visual Studio 2015 社区(在 Windows 10 中),两者都安装了最新的更新 1.我让他们都打开了完全相同的解决方案.这两个工具还安装了 Refactoring Essentials for Visual Studio 插件. 在专业版中,我可以清楚地看到实时代码分析器确实有效:您可以在
..
是否可以在 VS 2019 .editorconfig 中抑制 CodeAnalysis 消息?这两个选项不起作用: [*.cs]#尝试替代方案#[System.Diagnostics.CodeAnalysis.SuppressMessage("Design", "CA1051:不要声明可见的实例字段", Justification = "")]dotnet_diagnostic.CA1051.
..
我开发了以下代码来使用 Microsoft.CodeAnalysis.Emit 库生成 dll 文件.该代码成功地为 C# 项目生成了 dll 文件.但是,它没有成功构建 Visual Basic 项目.对于使用 VS IDE 成功构建的 VB 项目,它会引发大量编译器错误.请参阅为基本 Windows 应用程序项目抛出的错误.VB 项目是否有任何特定的编译器选项?请建议如何解决此问题. M
..
无法将方法的参数标记为只读,因此无法在方法中重新分配,我开始考虑为此创建一个分析器.该参数将被归因于 [AttributeUsage(AttributeTargets.Parameter)]公共类 ReadOnlyAttribute:属性{//...} 一个方法的签名是 公共类Foo{public void Bar([只读] MyObject o){o.DoSomething()//没问题o
..
我正在为 API 迁移编写分析器和代码修复程序 (AutoMapper V5 Profiles),将protected override Configure 方法转换为构造函数: 来自: public class MappingProfile : Profile{受保护的覆盖配置(){CreateMap();RecognizePrefix("m_");}} 到 public class
..
为了给我的用户更大的灵活性并让他们编写自己的表达式,我希望允许他们在文本字段中编写非常简单的 C# 语句,这些语句在服务器端执行以进行一些自定义计算.我正在与 Roslyn 一起存档. 这里. 我让用户在评估函数中注入代码,如下所示: string codeToCompile = @"使用系统;使用 System.Collections.Generic;命名空间评估器{公开课评估员{公
..
我打算在 MVC 6 项目中使用新的 Roslyn 代码分析 API. 但是,当我运行此代码时: string pathToSolution = @"..\..\..\WebApplicationComplex.sln";const string projectName = "RoslynWebAPIProject";MSBuildWorkspace 工作区 = MSBuildWorksp
..
我最近刚刚研究了 Roslyn 编译器的东西,我想知道一些可能性.我正在尝试使用 features/tuples 分支从 Roslyn 存储库构建 Roslyn 编译器,并替换 VS15Preview\MSBuild\15.0\Bin 文件夹中所需的 DLL.但是当我替换 DLL 并构建控制台应用程序项目时,我收到以下错误消息 严重代码描述项目文件行抑制状态 错误指定的任务可执行文件“
..
我正在尝试使用 Roslyn Microsoft.Codeanalysis 库实现以下基于 csc 命令的编译 csc/target:library/out:UserControlBase.dll UserControlBase.cs/addmodule:"c:\artifacts\MyLib.netmodule" 以下是与 Roslyn 相同的实现 var compiler = await
..
这是我曾经可以工作的代码: MSBuildWorkspace msBuild = MSBuildWorkspace.Create();解决方案 sln = 等待 msBuild.OpenSolutionAsync(solutionPath); 但现在我明白了: int pr = sln.Projects.Count();//是1而不是2. 和: int docs = sln.Projec
..
DeclaringSyntaxReferences 之间有什么区别Locations 属性在 ISyntax 接口? 解决方案 答案的线索在评论区: 声明符号的语法节点.如果符号在元数据中声明或隐式声明,则返回一个空的只读数组. 这意味着,Locations 还返回元数据引用声明和隐式声明的位置.您可以在 LocationsTests.cs 文件: var c = s.Get
..
我在解决方案中有 2 个测试项目. 第一个项目(“VDoc")声明 VDocQuery 类型. 第二个项目(“VDocQueryTest")调用 VDocQuery 构造函数. 我得到 2 个 VDocQuery 的 ITypeSymbol(每个项目一个),比较它,但得到错误的结果. 步骤: 1. 获取第一个 ITypeSymbol(来自 VDoc 项目,使用 SemanticM
..
我想写一个 Roslyn 代码分析器;如果 ObjectCreationExpression 正在从本地类(在当前项目中或当前解决方案中的项目中)创建对象,则需要确定;或者如果该类来自其他地方,例如基类库或 Nuget 包等. 我如何知道 Roslyn 中某个类的来源? 解决方案 你只能在语义模型的帮助下得到它.您可以获得构造函数的符号,并通过 检查类型来自哪里Locations 或
..
需要使用 Roslyn 查找TypeSyntax 或本质上Type 类中的特定文件. 像这样: rootSyntaxNode.DescendantNodes().OfType().First(x => x.Identifier="fieldName").GivemeTypeSyntax() 但无法获得有关如何在 FieldDeclarationSyntax 节点中访问 Identifier
..