roslyn-code-analysis相关内容

混淆了规则集文件和editorconfig文件

我们的组织使用包含我们组织的StyleCop.Analyzer设置的规则集文件。这位于源代码管理中,我们组织中所有解决方案中的所有项目都引用此文件。如果我编辑规则集(通过项目属性->;代码分析选项卡),我会看到一条消息,提示我将规则集迁移到editorconfig文件。有人能解释一下我为什么要这么做吗?两者有什么不同? 我还注意到,在VS Tools->;Options->;Text ..

VS 项目引用因 GUID 区分大小写而中断

自从升级到 VS 2015 以来,我的团队遇到了一些随机的古怪事情,我确信 Microsoft 现在正在解决这些问题.一个非常烦人的问题是我们似乎丢失了项目引用,尤其是在分支之后.昨天我开始研究我们解决方案的一个新分支,结果发现类型无法识别并且命名空间 using 被认为是不必要的(因为它们用于突然变得无法识别的类型). 项目中的引用没有显示任何表示引用有问题的图标,但只是为了看看它是否有效 ..

EF Core Analyzer RawSqlStringInjectionDiagnosticAnalyzer 错误

我正在尝试将所有内容从 Entity Framework 6.3 移植到 Entity Framework Core 2.1.2,这是我第一次使用 EF Core.我有 2 个项目,一个是我的核心或基础设施项目,包含所有实体模型、DB 上下文和存储库,另一个是 asp.Net MVC,它是我的启动项目并使用核心项目的所有服务.这两个项目都使用 .NetStandard Library 2.0.3 ..

Roslyn C#:如何获取方法访问的所有字段和属性(及其所属类)

我希望为我的方法计算对外部数据的访问指标.此外,我想知道我的方法从哪些对象访问字段和属性,以确定功能嫉妒代码异味的存在. 对于这个例子: 公共类 DoctorService{私人名单_医生;公共医生 FindAvailableDoctor(DateRange timeSpan){foreach(_doctors 中的 d 博士){foreach(d.HolidayDates 中的 Date ..
发布时间:2021-10-26 16:20:18 C#/.NET

Visual Studio 2015 社区版不支持实时代码分析器吗?

我有 Visual Studio 2015 专业版(在 Windows 7 中)和 Visual Studio 2015 社区(在 Windows 10 中),两者都安装了最新的更新 1.我让他们都打开了完全相同的解决方案.这两个工具还安装了 Refactoring Essentials for Visual Studio 插件. 在专业版中,我可以清楚地看到实时代码分析器确实有效:您可以在 ..

使用 Microsoft.CodeAnalysis.Emit 的 Visual Basic 项目中的编译器问题

我开发了以下代码来使用 Microsoft.CodeAnalysis.Emit 库生成 dll 文件.该代码成功地为 C# 项目生成了 dll 文件.但是,它没有成功构建 Visual Basic 项目.对于使用 VS IDE 成功构建的 VB 项目,它会引发大量编译器错误.请参阅为基本 Windows 应用程序项目抛出的错误.VB 项目是否有任何特定的编译器选项?请建议如何解决此问题. M ..
发布时间:2021-07-10 19:35:08 C#/.NET

使用 [ReadOnly] 属性标记参数并让分析器断言方法主体中没有重新分配

无法将方法的参数标记为只读,因此无法在方法中重新分配,我开始考虑为此创建一个分析器.该参数将被归因于 [AttributeUsage(AttributeTargets.Parameter)]公共类 ReadOnlyAttribute:属性{//...} 一个方法的签名是 公共类Foo{public void Bar([只读] MyObject o){o.DoSomething()//没问题o ..
发布时间:2021-07-10 19:35:05 C#/.NET

使用 Roslyn 在服务器端 API 上安全执行代码

为了给我的用户更大的灵活性并让他们编写自己的表达式,我希望允许他们在文本字段中编写非常简单的 C# 语句,这些语句在服务器端执行以进行一些自定义计算.我正在与 Roslyn 一起存档. 这里. 我让用户在评估函数中注入代码,如下所示: string codeToCompile = @"使用系统;使用 System.Collections.Generic;命名空间评估器{公开课评估员{公 ..
发布时间:2021-07-10 19:34:33 C#/.NET

让 MSBuild 在 VS15 Preview 中使用新的 Roslyn 编译器

我最近刚刚研究了 Roslyn 编译器的东西,我想知道一些可能性.我正在尝试使用 features/tuples 分支从 Roslyn 存储库构建 Roslyn 编译器,并替换 VS15Preview\MSBuild\15.0\Bin 文件夹中所需的 DLL.但是当我替换 DLL 并构建控制台应用程序项目时,我收到以下错误消息 严重代码描述项目文件行抑制状态 错误指定的任务可执行文件“ ..
发布时间:2021-07-10 19:33:58 C#/.NET

在 Roslyn 中添加模块作为参考

我正在尝试使用 Roslyn Microsoft.Codeanalysis 库实现以下基于 csc 命令的编译 csc/target:library/out:UserControlBase.dll UserControlBase.cs/addmodule:"c:\artifacts\MyLib.netmodule" 以下是与 Roslyn 相同的实现 var compiler = await ..
发布时间:2021-07-10 19:33:43 C#/.NET

如何在 Roslyn 中加载解决方案?

这是我曾经可以工作的代码: MSBuildWorkspace msBuild = MSBuildWorkspace.Create();解决方案 sln = 等待 msBuild.OpenSolutionAsync(solutionPath); 但现在我明白了: int pr = sln.Projects.Count();//是1而不是2. 和: int docs = sln.Projec ..
发布时间:2021-07-10 19:33:04 C#/.NET

ISymbol.DeclaringSyntaxReferences 和 ISymbol.Locations 之间的区别

DeclaringSyntaxReferences 之间有什么区别Locations 属性在 ISyntax 接口? 解决方案 答案的线索在评论区: 声明符号的语法节点.如果符号在元数据中声明或隐式声明,则返回一个空的只读数组. 这意味着,Locations 还返回元数据引用声明和隐式声明的位置.您可以在 LocationsTests.cs 文件: var c = s.Get ..
发布时间:2021-07-10 19:32:39 C#/.NET

使用 Roslyn,如何检查类是否来自本地项目,而不是 BCL 或 Nuget(等)?

我想写一个 Roslyn 代码分析器;如果 ObjectCreationExpression 正在从本地类(在当前项目中或当前解决方案中的项目中)创建对象,则需要确定;或者如果该类来自其他地方,例如基类库或 Nuget 包等. 我如何知道 Roslyn 中某个类的来源? 解决方案 你只能在语义模型的帮助下得到它.您可以获得构造函数的符号,并通过 检查类型来自哪里Locations 或 ..
发布时间:2021-07-10 19:31:50 C#/.NET