问题标签 [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.

0 投票
2 回答
829 浏览

visual-studio-2010 - 有没有办法在 Roslyn CTP 中更改 C# Interactive 窗口的字体和颜色?

它似乎从我当前的设置中部分继承了字体和颜色,这使它现在非常难看。我查看了字体和颜色,但没有 C# Interactive 的设置。

呜呜呜 工具和选项

0 投票
1 回答
2015 浏览

c# - 有没有办法为“r”和“加载”命令设置工作目录

Quesiton相对于 Roslyn .rsp 文件中的引用

确实安装了 Roslyn,使用:C:\Users\name\Documents\Microsoft Codename Roslyn CTP - October 2011\CSharp\WpfSeedRepl 演练:http: //msdn.microsoft.com/ru-ru/hh543924

我无法加载当前的 DLL 和 csx:

在另一方面:

有没有不指定项目文件夹的解决方法?

0 投票
2 回答
2034 浏览

c# - 从 ITypeSymbol 获取 TypeSyntax

我正在尝试使用 Roslyn-CTP。

目前我正在尝试var用具体类型替换。

应该变成:

找出推断的类型很容易。但由于这部分发生在语义模型中,我得到了一个ITypeSymbol. 替换发生在语法模型中,所以我需要一个TypeSyntax. 由于我不想要一个臃肿的名称 ( global::System.Int32),因此转换是依赖于上下文的 ( using、嵌套类型等)。

作为 Roslyn 一部分的 Visual Studio 版本已经在其“简化类型名称”快速修复中具有此功能,但查看示例我找不到进行此转换的简单方法。


根据 Kevin Pilch-Bisson 的回答,我现在正在使用:

可以ToMinimalDisplayStringCommonSyntaxTree.

另一个复杂之处是ToMinimalDisplayString需要类Locationand SemanticModel,而document.GetSemanticModel()andCommonSyntaxTree.GetLocation只返回一个接口。
我通过简单地投射到类来解决问题,这似乎目前有效。

嗯,看起来这些类是 C# 特定的,并且接口语言独立。


我在 github 上上传了一个工作版本:https ://github.com/CodesInChaos/Roslyn

它不适用于vara foreach,但我怀疑这是当前 Roslyn 构建的限制。

0 投票
3 回答
2352 浏览

c# - 使用 Roslyn CTP API 的代码差异

我正在尝试使用 Roslyn API 做一些基本的代码差异,但遇到了一些意想不到的问题。本质上,我有两段相同的代码,除了添加了一行。这应该只返回已更改文本的行,但由于某种原因,它告诉我一切都已更改。我也尝试过只编辑一行而不是添加一行,但我得到了相同的结果。我希望能够将此应用于源文件的两个版本,以识别两者之间的差异。这是我目前正在使用的代码:

这是我得到的输出:

有趣的是,它似乎将每一行显示为每一行的标记,除了添加的行,它显示该行而不分解它。有谁知道如何隔离实际的变化?

0 投票
2 回答
3153 浏览

c# - 将 Roslyn 编译的程序集加载到沙盒 AppDomain

我有一个使用脚本引擎编译脚本的代码片段,我将程序集作为字节数组检索。

现在我想将它加载到Assembly沙盒中,这就是我所拥有的:

这是 AssemblyResolve 的事件处理程序:

这意味着当我这样做时,domain.Load(assembly)我将获得 _dynamicAssembly,如果我不订阅该事件并返回该事件Assembly,我将获得一个FileNotFoundException.

以上编译运行,但问题是在域程序集中执行的代码实际上并没有在沙箱中执行。当我得到提交方法并在其中调用工厂并返回AppDomain.CurrentDomain.FriendlyName结果是:MyRoslynApplication.vshost.exe不是沙箱AppDomain

我加载我的byte[]-assembly 错误吗?

0 投票
2 回答
1842 浏览

c# - 使用 Roslyn CTP 进行智能重构

我在我们的构建上运行了一些分析工具,比如 StyleCop/FXCop。

我想要实现的是自动更正这些产生的一些警告。

您认为这可以使用 Roslyn CTP 完成吗?是否有任何其他工具允许:

  1. 扫描我的代码文本以查找未遵循的某些规则。
  2. 用正确的代码替换它。

一些操作可以使用 VS 编辑器的简单文本替换来完成,但更复杂的事情需要使用其他一些工具。

所以我的问题是 - 为此,Roslyn CTP 是要使用的工具吗?或者 .NET 有哪些其他工具可以做到这一点?

0 投票
3 回答
1843 浏览

c# - roslyn 可以生成枚举吗?

所以,我觉得这是可能的,但我没有能力把它放在一起。我有查找表(带有 ID 和名称字段)。我有与查找保持同步的枚举。我想要的是制作一个 SQL 表列表,并让 roslyn 在编译期间/之前创建枚举。这样我就知道我的枚举总是同步的,这是我的另一件事。

有人可以告诉我路,或者告诉我为什么这是一个坏主意吗?我觉得解决方案并不是很多代码......

谢谢!

0 投票
4 回答
3666 浏览

c# - 如何使用 Roslyn 声明 var 变量?

我有以下代码,但我找不到如何获取 var TypeSyntax。有任何想法吗?

这会失败,并出现一个参数异常,上面写着:“关键字”

0 投票
1 回答
1018 浏览

c# - 在 Roslyn 中自动加载 .csx

每次我从项目中重置 C# 交互式窗口时,是否可以告诉 Visual Studio 或 Roslyn 执行特定的代码脚本?

例如 - 我有一个带有绘图仪的表单,它显示了我正在使用的大部分数据。我希望绘图能够自动加载,并在每次我从项目中重置 C# 交互窗口时为其创建一个变量。因此,每次重置时都需要运行以下代码:

我可以将其放入 .csx 文件中,然后在交互式窗口中调用“加载”命令,但如果可能的话,我希望自动执行。

Roslyn CTP 目前有什么方法可以做到这一点?

谢谢,

贾瓦

0 投票
1 回答
990 浏览

roslyn - Roslyn 和 .NET 少的 C#?

Roslyn 是用 C# 编写的,带有一些初始引导。它是否为我们不需要 .NET for c# 铺平了道路?也许是带有“.NET”运行时的 C# 版本太小以至于我们甚至不认为它是“.NET”?

提前感谢你的帮助。