Visual Studio solution, VB.NET project and source code analysis toolkit: parses and writes .sln/.slnx solutions and .vbproj files, builds VB.NET symbol trees with a recursive descent parser, maps compiled assemblies by reflection and decodes IL and source maps.
Microsoft.VisualBasic.ApplicationServices.Development.VisualStudio 1.0.9762.11310.
01 Namespaces
Microsoft.VisualBasic.ApplicationServices.Development.VisualStudio
| Type | Summary | Members |
|---|---|---|
| Correlation | Represents activity correlation information for a WCF trace event. | 1 |
| E2ETraceEvent | Represents an End-to-End (E2E) trace event from a WCF trace log. | 2 |
| Execution | Represents the execution context information for a trace event. | 3 |
| SystemEvent | Represents the system-level event metadata for a WCF trace event. | 10 |
| SystemTime | Represents a system timestamp value, serialized as an XML attribute. | 1 |
| TagValue | Represents a key-value pair where the name is stored as an XML attribute and the value is stored as the XML element's text content. | 2 |
| WCFTraceFile | Utility class for reading and parsing Windows Communication Foundation (WCF) trace log files (.svclog). | 1 |
Microsoft.VisualBasic.ApplicationServices.Development.VisualStudio.CodeSign
Code signing and license inspection helpers for VB.NET source files: source code statistics, license header information and VB code signature extraction for the supported languages.
| Type | Summary | Members |
|---|---|---|
| CodeSignHelpers | 使用AES加密进行代码的签名操作 | 1 |
| CodeStatics | 12 | |
| LicenseMgr | Source code license banner | 6 |
| VBCodeSignature | 在这个模块之中对VB的代码文件进行大纲摘要的提取操作 | 2 |
Microsoft.VisualBasic.ApplicationServices.Development.VisualStudio.IL
IL disassembly and decompilation of .NET assemblies: instruction and method body readers, control flow graph construction, SSA and stack simulation, and structured syntax recovery used to reconstruct readable source code.
| Type | Summary | Members |
|---|---|---|
| ArrayIndexExpression | 数组取元素(ldelem.*) | 3 |
| ArrayLengthExpression | 数组长度(ldlen) | 2 |
| AssignmentStatement | 赋值:target = value | 3 |
| AstInterpreter | 在 CPU 上直接执行一棵 MethodSyntax | 3 |
| BasicBlock | 控制流图中的一个基本块 | 24 |
| BinaryExpression | 二元运算 | 4 |
| BinaryOperator | 二元运算符 | 18 |
| BlockStatement | 语句块(同时用作方法体与 if / while / for 的 body) | 1 |
| CallExpression | 方法调用(call / callvirt,仅白名单内的纯函数) | 9 |
| ControlFlowGraph | 一个方法的控制流图 | 16 |
| ConvertExpression | 数值/引用转换(conv.r4 / conv.r8 / conv.i4 ...) | 4 |
| DecompileDiagnostics | 反编译过程中产生的结构化诊断(框架层不写控制台) | 5 |
| DecompileException | 反编译失败 | 0 |
| DecompileOptions | 反编译选项 | 2 |
| Expression | 表达式节点基类 | 0 |
| ExpressionStatement | 只有副作用、丢弃结果的表达式语句(例如 stelem、无返回值的 call) | 2 |
| ForStatement | for 循环(归纳变量形态的 while 提升而来) | 5 |
| Globals | 8 | |
| IfStatement | if / else | 3 |
| ILInstruction | 16 | |
| IlOpcodeInfo | IL opcode 归类的静态助手(全部为纯函数) | 12 |
| LiteralExpression | 字面量常量(ldc.i4 / ldc.r4 / ldc.r8 / ldstr / ldnull ...) | 2 |
| LocalDeclaration | 一个局部变量的声明(方法级符号表) | 4 |
| LocalExpression | 局部变量引用(ldloc / ldloca) | 5 |
| MethodBodyReader | Parsing the IL of a Method Body > https://www.codeproject.com/articles/14058/parsing-the-il-of-a-method-body | 19 |
| MethodDecompiler | 3 | |
| MethodSyntax | 一个方法反编译之后的完整语法树。 | 9 |
| NopStatement | 空语句(nop / 未归约出来的占位) | 1 |
| OperatorPrecedence | 一个二元运算符的优先级(数字越大越紧),供发射器决定是否需要加括号。 | 2 |
| ParameterDeclaration | 一个方法形参的声明 | 5 |
| ParameterExpression | 方法形参引用(ldarg / ldarga) | 3 |
| PhiArgument | SSA phi 的一个入边:来自哪个基本块、取哪个值 | 3 |
| PhiExpression | SSA phi 节点。结构化还原阶段会把它就地折叠成"分支末尾赋值 + 声明提升", 因此正常情况下最终 AST 里不应残留 phi。 | 3 |
| ReturnStatement | return 语句;Value 为 Nothing 表示 Sub 的隐式返回 | 2 |
| SsaBuilder | 11 | |
| StackSimulator | 把 IL 指令流归约成语句与表达式节点 | 6 |
| Statement | 语句节点基类 | 0 |
| StructureRecovery | 5 | |
| SyntaxKind | AST 节点类型 | 22 |
| SyntaxNode | 所有 AST 节点的基类 | 3 |
| SyntaxWriter | 6 | |
| TernaryExpression | 三元条件表达式(cond ? a : b) | 4 |
| UnaryExpression | 一元运算 | 3 |
| UnaryOperator | 一元运算符 | 6 |
| VariableDeclarationStatement | 局部变量声明(可带初值) | 5 |
| WhileStatement | while 循环(由带单一回边的自然循环归约而来) | 3 |
Microsoft.VisualBasic.ApplicationServices.Development.VisualStudio.IL.SsaBuilder
| Type | Summary | Members |
|---|---|---|
| PhiInfo | 一个 SSA phi 节点 | 6 |
Microsoft.VisualBasic.ApplicationServices.Development.VisualStudio.IL.StructureRecovery
| Type | Summary | Members |
|---|---|---|
| RegionOutput | 一段已归约好的语句 + 该段之后应该继续处理的块 | 0 |
Microsoft.VisualBasic.ApplicationServices.Development.VisualStudio.Resource
The .resx resource file data model: typed resource headers, resx schema objects and the MIME data helpers used to read and write .NET resources.
| Type | Summary | Members |
|---|---|---|
| MimeData | 1 |
Microsoft.VisualBasic.ApplicationServices.Development.VisualStudio.sln
Visual Studio solution workspace model: solution, project workspace and folder workspace abstractions that represent a loaded .sln or .slnx solution in memory.
| Type | Summary | Members |
|---|---|---|
| FolderWorkspace | 4 | |
| Solution | Microsoft Visual Studio Solution File, works for both classic .sln (text) and the new .slnx (XML) solution formats. | 16 |
Microsoft.VisualBasic.ApplicationServices.Development.VisualStudio.sln.File
Low level readers and writers for the Visual Studio solution file formats: the legacy .sln parser, the modern .slnx parser and writer, and solution configuration models.
| Type | Summary | Members |
|---|---|---|
| Global | Carries the content of the solution GlobalSection pairs (e.g. | 3 |
| LegacySlnParser | 3 | |
| Parser | Parses Visual Studio solution files, both the classic .sln (text) format and the new .slnx (XML) format, into a unified Solution model. | 2 |
| Project | A project or solution folder inside the solution. | 10 |
| SlnxParser | 1 | |
| SlnxWriter | 2 | |
| SolutionConfiguration | A solution level build configuration / platform pair, e.g. | 4 |
| TypeId | Known Visual Studio project type GUIDs. | 10 |
Microsoft.VisualBasic.ApplicationServices.Development.VisualStudio.SourceMap
Source map (v3) decoding and encoding: the base64 VLQ codec, line and segment mapping decoders/encoders and the source map file model.
| Type | Summary | Members |
|---|---|---|
| base64VLQ | VLQ编码 > https://github.com/mozilla/source-map/blob/master/lib/base64-vlq.js | 10 |
| mappingEncode | 1 | |
| mappingLine | 5 | |
| sourceMap | 6 |
Microsoft.VisualBasic.ApplicationServices.Development.VisualStudio.VBProj
The VB.NET project (.vbproj) document model: the VBProject, VBDocument and project file abstractions plus assembly info and project level extension helpers.
| Type | Summary | Members |
|---|---|---|
| AssemblyInfoExtensions | 2 | |
| Extensions | 4 | |
| Imports | 3 | |
| VBDocument | 4 | |
| VBProject | vbproj file model | 17 |
Microsoft.VisualBasic.ApplicationServices.Development.VisualStudio.VBProj.CodeDOM
The VB.NET source code symbol tree: namespace, type, member, variable and enum symbol objects produced by the recursive descent parser and used for code analysis.
| Type | Summary | Members |
|---|---|---|
| CallableMemberSymbol | base for callable members that own parameters, a return type and a body with local variables: MethodSymbol and PropertySymbol. | 2 |
| DelegateSymbol | delegate declaration, e.g. | 1 |
| EnumSymbol | 2 | |
| EventSymbol | event symbol, e.g. Event XXX(x As XX) | 1 |
| LanguageSymbolType | the base class of all code symbol types in a VB language project. | 7 |
| MemberSymbol | category base: a declaration that lives inside a TypeContainerSymbol, e.g. | 0 |
| MethodSymbol | function / sub / operator / sub new (constructor). | 1 |
| PropertySymbol | property declaration, e.g. | 1 |
| Source | 4 | |
| SourceLocations | 3 | |
| TypeContainerSymbol | category base: a type declaration that can nest other types and members, e.g. | 4 |
| VariableSymbol | a variable symbol. Per design, class/structure fields AND local method variables share this single type (Field is intentionally not split out). Use LanguageSymbolType.Parent to t… | 0 |
Microsoft.VisualBasic.ApplicationServices.Development.VisualStudio.VBProj.CodeDOM.Syntax
The VB.NET recursive descent parser and lexical scanner: tokens, statements, type information helpers and the parser implementation that feeds the code symbol tree.
| Type | Summary | Members |
|---|---|---|
| Token | a single lexical token with its source text and line number. | 4 |
| TokenKind | the kind of a lexical token produced by VBScanner | 8 |
| TypeInfoHelper | helpers to build TypeInfo clr type references from the type name text that was extracted out of the VB.NET source code. | 1 |
| VBParser | recursive descent parser for VB.NET source code. | 3 |
| VBScanner | lexical scanner for VB.NET source code. | 1 |
| VBStatement | a logical (already line-continued) source line together with the xml documentation comment that immediately precedes it. | 9 |
Microsoft.VisualBasic.ApplicationServices.Development.VisualStudio.VBProj.NuGet
NuGet package resolution helpers for VB project files: package, framework and version models together with the NuGet resolver and client used to restore dependencies.
| Type | Summary | Members |
|---|---|---|
| NuGetClient | 轻量 nuget 客户端: 基于 nuget.org flat-container 协议获取包, 并复用 NuGet 全局包目录(~/.nuget/packages)作为本地缓存。 | 16 |
| NuGetDependency | 一条 nuget 依赖声明(来自目标包的 .nuspec)。 | 4 |
| NuGetDependencyGroup | 一个 nuspec 的依赖组(<group targetFramework="...">)。 | 2 |
| NuGetException | nuget 包解析过程中出现的可预期错误(包不存在、版本不存在、网络不可达等)。 | 0 |
| NuGetFramework | 目标框架 moniker(TFM)的兼容性排序、最优匹配与当前运行平台识别。 | 10 |
| NuGetPackage | 一个已经落到本地缓存目录的 nuget 包: 包含解析出的依赖与资产(托管 dll / 原生资产目录)。 | 10 |
| NuGetResolver | nuget 依赖解析器: 读取包内 .nuspec, 递归展开传递依赖, 完成目标框架匹配、版本冲突消解与资产(托管 dll / 原生库目录)选择。 | 13 |
| NuGetResolveResult | 一次 nuget 依赖解析的完整结果: 根包 + 全部传递依赖。 | 5 |
| NuGetVersion | NuGet 所使用的语义化版本号: major.minor.patch[.revision][-prerelease][+build]。 | 16 |
| VersionRange | NuGet 版本范围: 1.2.3(最小版本)、[1.2.3](精确)、[1.0,)、[1.0,2.0)、(,2.0] 等。 | 10 |
Microsoft.VisualBasic.ApplicationServices.Development.VisualStudio.VBProj.ProjectXml
The strongly typed XML object model of the SDK style .vbproj project file.
| Type | Summary | Members |
|---|---|---|
| VBBuildConfiguration | a single build configuration derived from a conditional PropertyGroup (e.g. | 8 |
| VBNuGetMetadata | nuget / packaging metadata parsed from PropertyGroup elements. | 16 |
| VBPackageReference | nuget package reference (PackageReference item) | 6 |
| VBProjectMetadata | generic, non-packaging project metadata parsed from PropertyGroup elements. | 10 |
| VBProjectReference | external project reference (ProjectReference item) | 6 |
| VBReference | external assembly reference: a Reference item carrying a HintPath. | 4 |
Microsoft.VisualBasic.ApplicationServices.Development.VisualStudio.VBProj.Reflection
Reflection based assembly symbol loader that maps compiled .NET assemblies into the VB project code symbol tree.
| Type | Summary | Members |
|---|---|---|
| AssemblySymbolLoader | Loads a .NET assembly (dll) via read-only metadata reflection and maps every type and member into the VBLang symbol tree model. | 1 |
Microsoft.VisualBasic.ApplicationServices.Development.VisualStudio.VersionControl.Git
Git repository access helpers: commit log and weekly log models together with diff utilities.
| Type | Summary | Members |
|---|---|---|
| commitEntry | Represents a single commit entry parsed from git log --since="..." -p output, aggregating the commit metadata, the list of changed files with their diff content, and the added/… | 4 |
| diff | Module for invoking git diff command and parsing its output into structured objects. | 2 |
| DiffHunk | Represents a contiguous section (hunk) of changes in a file diff. | 5 |
| DiffLine | Represents a single line in a git diff output. | 3 |
| DiffLineType | Represents the type of a single diff line. | 6 |
| DiffResult | Represents the complete parsed result of a git diff command. | 3 |
| FileChange | Represents the diff changes for a single file. | 3 |
| FileChangeKind | Represents the kind of change applied to a file. | 8 |
| log | Represents a single log entry from a version control system, containing the commit identifier, author, timestamp, and commit message. | 6 |
| weeklyLog | Module for parsing git log --since="..." -p output into structured commit entries, combining the existing log metadata parser and the diff patch parser. | 3 |