如何在SourceGenerator中查找类文件到csproj的相对文件路径
我正在使用 SourceGenerator 并分析 class 来创建一个字符串,该字符串需要具有类文件到 csproj 文件的相对路径。 我可以使用下面的代码找到 class 文…
在 Visual Studio 中添加分析器时无法加载 netstandard2.1 程序集
最近我对编写源代码生成器很感兴趣,在某些时候我需要编写一个 DiagnosticSuppressor 来容纳一些生成的逻辑。由于 Rider(我选择的 IDE)不支持抑制器…
使用 Roslyn - 编译器即服务有什么好处
Roslyn 项目中的 CaaS(编译器即服务)是什么? 与当前 C# 4.0 编译器相比,使用 Roslyn 功能如何提高 C# 应用程序的性能? Roslyn-CTP 有哪些已知的…
“假”的可用选项; C# 中的 linq 理解语法关键字?
虽然在某些情况下我会使用方法链编写一些内容(特别是如果它只是一两个方法,例如 foo.Where(..).ToArray()),但在许多情况下我更喜欢 LINQ 查询理解…
Roslyn 和 .NET less C#?
Roslyn 是用 C# 编写的,并进行了一些初始引导。它是否为我们不再需要 .NET for c# 的那一天铺平了道路?也许具有“.NET”运行时的 C# 版本非常小,以…
如何使用 Roslyn 声明 var 变量?
我有以下代码,但我找不到如何获取 var TypeSyntax。 有什么想法吗? Syntax.LocalDeclarationStatement( declaration: Syntax.VariableDeclaration( …
将 Roslyn 编译的程序集加载到沙箱 AppDomain 中
我有一个代码片段,它使用脚本引擎编译脚本,并将程序集作为字节数组检索。 现在我想在沙箱中加载这个Assembly,这就是我所拥有的: Assembly _dynami…
使用 Roslyn CTP API 进行代码比较
我正在尝试使用 Roslyn API 进行一些基本的代码比较,但遇到了一些意想不到的问题。本质上,我有两段相同的代码,只是添加了一行。这应该只返回更改后…
从 ITypeSymbol 获取 TypeSyntax
我正在尝试使用 Roslyn-CTP。 目前我正在尝试用具体类型替换 var 。 var i=1; 应该变成: int i=1; 弄清楚推断的类型很容易。但由于这部分发生在语义…
寻找 C# => Linq 表达式编译器
我正在寻找将整个方法转换为表达式树的能力。写出来会很糟糕。 :) 因此(简单的示例)给出以下文本: public static int Add(int a, int b) { return …