roslyn相关内容

Roslyn 在更改的文档中查找相同节点

众所周知,Roslyn 语法树是不可变的,因此在进行更改后,您需要获得一个新节点. 我正在尝试使用文档编辑器更新文档,但我不断收到错误消息,提示在语法树中找不到该节点. public static T FindEquivalentNode(本文档newDocument,T节点)其中 T : CSharpSyntaxNode{var root = newDocument.GetSyntaxR ..
发布时间:2021-07-10 19:34:38 C#/.NET

Roslyn 最终用户预览版是否仍然可用?

在 Roslyn 主页上,有一个指向“最终用户预览"的链接,可将您带到 Microsoft Connect 站点. http://msdn.microsoft.com/en-us/vstudio/roslyn.aspx 我没有看到需要填写的表格,为了下载最终用户预览,我实际看到的是“我的仪表板"区域.所以我在“产品目录"中搜索“rosyln"但没有结果出现. Roslyn 是否仍 ..
发布时间:2021-07-10 19:34:34 其他开发

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

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

在 .net core 中为 Roslyn 动态选择引用

TL;DR 如何让运行时在 .NET Core 5 中为涉及 .NET 4.7.2 代码的在运行时编译的 C# 插件选择正确的程序集? 背景 我有一个 .NET 4.7.2 应用程序,在该应用程序上,某些模块根据一些可配置的插件表现不同.我在运行时编译 C# 插件的 .NET 4.7.2 程序集中有以下代码. public OperationResultCompileClas ..
发布时间:2021-07-10 19:34:29 C#/.NET

Roslyn VSIX 扩展因在修复提供程序中添加功能而爆炸

我一直在处理一个问题,我假设它是特定于环境的.当我向 CodeFixProvider 中添加任何函数时,我安装并重新安装了 Roslyn 模板参考与否).VS 在尝试打开预览窗口时出现系统聚合异常: 这是完整的代码修复提供程序,唯一修改的是添加新功能 [ExportCodeFixProvider(LanguageNames.CSharp, Name = nameof(AggregateBu ..
发布时间:2021-07-10 19:34:14 C#/.NET

使用 Roslyn 导出参数类型

我创建了以下对象来遍历我的构造函数: 内部类 ConstructorWalker : CSharpSyntaxWalker{私有字符串 className = String.Empty;私有只读语义模型语义模型;private readonly Action打回来;public ConstructorWalker(文档文档,Action回调){this.semanticModel = docum ..
发布时间:2021-07-10 19:34:11 C#/.NET

如何从 VisualStudioWorkspace 获取工作区?

我正在尝试从 Visual Studio 获取 Workspace,以便与 roslyn 一起使用. 我找到了一些关于这个的话题,比如这个:如何从 IVsSolution 获取对“Roslyn"工作区对象的引用? 我写了完全相同的代码: var componentModel = (IComponentModel)Microsoft.VisualStudio.Shell.Package ..
发布时间:2021-07-10 19:34:05 C#/.NET

将 Roslyn 与 Nuget 结合使用时,避免使用大量软件包和二进制文件

我正在尝试在我的应用程序中使用 Roslyn.我为此添加了 NuGet 包(Microsoft.CodeAnalysis.CSharp).事实证明,这个包依赖于许多其他包: 它们中的大多数在 .NET Framework 上似乎未使用(例如,System.Runtime 提供了诸如 Int32 之类的类型). 这些包的大小与实际使用的内容之间存在令人难以置信的对比.许多数据似乎是翻译: ..
发布时间:2021-07-10 19:34:01 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 项目模板 VS 2015 RC

我在当前发布的 Visual Studio 2015 RC 中找不到任何 Roslyn 扩展的项目模板.它们在候选版本中不可用还是隐藏得很好? 我遗漏了整个 Roslyn 文件夹.我已经安装了 Visual Studio 2015 SDK RC,我还有什么遗漏吗? 解决方案 他们已移至 Extensibility 文件夹,并且名称中没有 Roslyn.相反,他们以他们实际所做的事情命 ..
发布时间:2021-07-10 19:33:55 其他开发

从 CatchDeclaration 获取符号

如何在 CatchDeclaration 中获取实例的符号信息?基本上我想获取符号,以便我稍后可以比较它以查看该符号上调用了一个方法. 基本上我有这个:catch (Exception ex) {} 并且我想要“ex"的 SymbolInfo. 我得到了 catch 声明: var catchDeclaration = catchClause.DescendantNodes().Of ..
发布时间:2021-07-10 19:33:52 C#/.NET

roslyn 依赖是 MissingMethodException

在升级项目中的依赖项后,roslyn 编译器开始在以下代码中抛出缺少方法异常,更新前有效: CSharpCompilation 编译 = CreateCompilation(templateId, syntaxTrees, metadataReferences);EmitResult 编译结果;generateAssembly = string.Empty;使用 (var stream = ne ..
发布时间:2021-07-10 19:33:49 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

如何使用 BaseListSyntax,Roslyn

需要使用 roslyn 将继承添加到某些界面. 我描述了这个类,但不知道如何在以下结构中设置继承: ClassDeclarationSyntax lClassDeclarationSyntax =语法.ClassDeclaration(Syntax.List(lAttributeListSyntax),语法.TokenList(lTokens),Syntax.Identifier(_class ..
发布时间:2021-07-10 19:33:40 C#/.NET

Roslyn 动态类生成问题

所以我正在尝试使用 Roslyn 创建一个动态类型(在运行时).这个要求的整个背景故事太长了.但是,我确实需要创建一个具有 x 多个属性的新类型,我试图在其中输入字典中的属性名称和初始值 这是相关的代码 private void CreateAssembly(Dictionary propertiesToEmit){if (ourAssembly == null){StringBuilde ..
发布时间:2021-07-10 19:33:37 其他开发

Roslyn - 编译简单类:“找不到类型或命名空间名称 'string'..."

我正在使用 Roslyn API 来生成和编译一个类.生成的类如下所示: 命名空间 MyCompany.Product{公共类测试类{公共无效配置(字符串ID){}}} 然而,当我编译它时,Emit(ted) 结果给出: 错误 CS0246:找不到类型或命名空间名称“字符串"(您是否缺少 using 指令或程序集引用?) 这是执行编译的方法: private static re ..
发布时间:2021-07-10 19:33:34 C#/.NET

将 SyntaxNode 重写为两个 SyntaxNode

我正在使用 Roslyn 的 CSharpSyntaxRewriter重写以下内容: string myString = "你好";myString += "世界!"; 到: string myString = "你好";myString += "世界!";Log("myString", myString); 我的语法重写器重写了 VisitAssignmentExpression 如下. ..
发布时间:2021-07-10 19:33:31 C#/.NET