问题标签 [roslyn]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - Roslyn 将文档添加到项目
我正在运行 roslyn ctp2
我正在尝试将新的 html 文件添加到项目中
这导致不写入任何更改。我正在尝试让新的 html 文件出现在 VS 中
c# - 使用 Roslyn 将班级成员添加到特定位置?
我正在使用 ClassDeclarationSyntax.AddMembers 方法将私有字段添加到类中。字段出现在类中,但我想知道如何将字段添加到特定位置。截至目前,它们被添加到 #if 指令内的类末尾,该指令在运行代码生成时恰好评估为 true。
运行代码:
将导致:
我想得到这个结果:
visual-studio - Roslyn 中的对话窗口
我想在 Visual Studio 中使用 Roslyn 实现重命名重构。为此,我希望用户输入将赋予所选变量的所需名称。如何提示用户编写文本?有没有办法显示带有输入的对话框窗口?
c# - Roslyn 流利的语法为多行 lambda 创建表达式树
我正在编写一个基于 Roslyn 的自定义工具,它试图通过在构建时将给定的多行 lambda 重写为表达式树来根除CS0834 。
编辑:此时,我只针对匿名多行 lambda。
例如:
到
这样就可以正确编译。虽然我可以弄清楚转换给定代码所需的 Expression.(blah) 语法,但使用 Roslyn 进行转换完全是另一回事。也许我只是不太了解 Roslyn Syntax.(blah) API 来翻译这个原始 lambda
有人可以帮我编写 Roslyn Syntax.(blah) 语法,它会生成一个如下所示的表达式树吗?
一旦我有了一个起点——我应该能够弄清楚或至少开始翻译这个项目中的简单案例。
非常感谢,非常感谢您的帮助。
c# - 如何确定哪个 SemanticModel 实例解析 ExpressionSyntax
为了找到我调用的 ExpressionSyntax 实例的目标,mySemanticModel.GetSymbolInfo(myExpressionSyntax).
我有几个 SemanticModel 实例,每个实例都与代码文件的语法树相关。
我想迭代语义模型并找到合适的模型来返回符号信息,但是我看不到如何在不使用异常的情况下测试合适的语义模型。
我需要完成以下代码:
c# - 罗斯林脚本
嗨,我想使用 Roslyn 在我的应用程序中编写脚本。但我有新的(九月)版本,我很困惑。我想用一些简单的功能执行文件。例如:
我发现了一些关于它的文章,例如acticle。有一些方法可以做到,但在我的版本中,我不Session.Create()
想像 IronPython 脚本那样使用它
就像是:
或者
动态 d = callFunction(m);
有可能还是我必须使用 IronPython 脚本?
c# - 如何从 Roslyn 脚本引擎限制对程序集中成员的访问?
我正在试验 Roslyn 脚本引擎。使用以下代码,我设置了我的脚本引擎。
然后我使用以下行执行脚本:
该脚本包含对我程序集中类的静态函数的非常简单的引用。
在输出窗口中,该函数仅打印到控制台。所以我展示了我可以调用我的程序集的公共静态成员,而无需将“HostObjectModel”传递给脚本引擎。我想防止这种情况发生。我希望能够仅注册脚本引擎可以访问的特定成员(函数、变量或属性),而不能注册其他成员。
知道如何做到这一点吗?
c# - 如何在 Roslyn 中为方法创建没有 ref 或 out 的命名参数?
在为构造函数创建命名参数时,我遇到了一个问题,我唯一可用的构造函数要求refOrOutKeyword
SyntaxToken
. null
不允许通过,而且Syntax.ParseToken("")
失败。Syntax.Token(SyntaxKind.RefKeyword)
并且Syntax.Token(SyntaxKind.OutKeyword)
两者都不合适,因为它们插入了ref
or out
:
我也没有找到任何合适的文档来说明如何创建命名参数。
c# - 具有智能感知功能的内置 C#/VB.Net 编辑器 - Roslyn、VSTA 还是其他?
我需要在我的应用程序中提供脚本功能,允许客户使用我们的对象模型扩展其功能。我希望提供某种带有智能感知的集成 C#/VB.Net 编辑器,但是在查看了 AvalonEdit 和 ScintillaNet 等产品之后,它们似乎并没有提供真正的代码完成功能,只是一个 API,您可以在其中提供自己的列表出现在弹出自动完成列表中的项目。
因此,我想知道 Roslyn 是否提供了任何此类功能?从我遇到的教程和示例来看,Roslyn 似乎实际上只是一个编译器服务。
作为最后的手段,客户可以使用 VS Express 之类的东西,但集成编辑器显然更好一些。
(我还遇到了 Visual Studio Tools for Applications,这听起来很有希望;但是在线资源已有几年的历史,而且文档/教程不存在,所以我对此一无所知)。
c# - 如何在asp.net中更改实现背后的代码
我正在探索 roslyn 框架作为 asp.net 的动态代码生成器的可能实现。到目前为止,它看起来很神奇。目前我被困在为 asp.net 页面(Web 应用程序)的实现背后生成代码。我设法创建了一个程序集,其中包含 page.design.cs 和 page.aspx.cs 代码,但我不知道如何将结果链接到现有的 .aspx 页面(当我设置代码时,这种情况效果很好在我的项目中的(一个)单独的类后面,并且在Inherit
属性中我将 namespace.class_name 设置为它)。我已经改变了Inhertit
属性指向类,这是roslyn代码生成的结果。但是,这似乎不起作用,因为(我猜).aspx 页面期望实例后面的代码在编译时可用,但我试图在运行时提供此定义。
有什么办法可以欺骗 .aspx 使其认为它具有定义背后的代码,我可以在运行时提供这些代码,以及如何将我的自定义代码后面的类与 .aspx 页面链接?
最好的祝福。