Roslyn 靜態分析

2022-01-15 01:34:27 字數 1258 閱讀 4329

首先建立乙個專案,專案使用.net framework 4.6.2 ,控制台專案。然後需要安裝一些需要的庫

開啟 nuget 安裝下面兩個庫

下面來寫簡單的**

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.threading.tasks;

namespace

trrluujhlcdyqa

}class

foo }}

對上面的**分析

首先需要把上面的**放在字串

然後建立分析**,讀取**。

class modelcollector : csharpsyntaxwalker

models[classnode.identifier.valuetext].add(node.identifier.valuetext);}}

class program

}class foo

}}"; var tree = csharpsyntaxtree.parsetext(str);

var root = (compilationunitsyntax)tree.getroot();

var modelcollector = new modelcollector();

modelcollector.visit(root);

console.writeline(jsonconvert.serializeobject(modelcollector.models));}}

這時輸出上面的**從 學的

更多關於 roslyn 請看 手把手教你寫 roslyn 修改編譯

參見:通過roslyn構建自己的c#指令碼(更新版) - 天方 -

getting started with roslyn analyzers

**分析 - 借助與 nuget 整合的 roslyn **分析來生成和部署庫

roslyn-analyzers/readme.md at master · dotnet/roslyn-analyzers

in-memory c# compilation and .dll generation using roslyn

Roslyn 靜態分析

首先建立乙個專案,專案使用.net framework 4.6.2 控制台專案。然後需要安裝一些需要的庫 開啟 nuget 安裝下面兩個庫 下面來寫簡單的 using system using system.collections.generic using system.linq using sy...

使用Roslyn構建Visual Studio擴充套件

之前我們報道了roslyn編譯器和工作空間api workspace api 現在讓我們來看下roslyn的服務api,以及我們能夠如何使用它來擴充套件visual studio。我們在本文中要檢視的擴充套件包括 問題報告 快速修正 重構 自動完成提供程式以及大綱檢視。和所有最新的visual st...

通過Roslyn動態生成程式集

之前寫過篇文章如何通過roslyn構建自己的c 指令碼,今天本來打算測試一下這部分api在新的版本中的變化,結果發現它的指令碼引擎找不到了,翻了一下官方文件,貌似說暫時性的移除了。便看了一下它動態生成程式集的api,這裡簡單的介紹一下使用方法。首先需要在nuget中新增codeanalysis的引用...