ICode9

精准搜索请尝试: 精确搜索
  • c# – ObjectCreationExpressionSyntax.Type的SemanticModel.GetTypeInfo()返回null2019-06-12 05:53:58

    我试图从ObjectCreationExpressionSyntax对象获取类型信息但失败了. 下面是重现问题的示例(请参阅代码中的“ti.Type为null”): using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis.CSharp; using Microsoft.CodeAnalysis.CSharp.Syntax; using Microsoft.CodeAnalysis.M

  • c# – 对roslyn中的解决方案应用多项更改2019-06-11 23:53:04

    我想将更改应用于解决方案的多个文档,但只反映第一个更改,其余部分被拒绝.This链接显示了只有一次可以将更改应用于解决方案.这将是一个什么样的解决方案.我希望链接指向解决方案或代码片段. 这是我的功能: public static async Task<bool> AddMethod(string solutionPath) { v

  • 如何用roslyn删除我的c#解决方案中源代码的所有注释?2019-06-11 20:56:10

    我想在Roslyn的C#解决方案中删除源代码中的所有注释. 但我该怎么做? public void DeleteComment() { var code = File.ReadAllText("code.cs"); SyntaxTree tree = SyntaxFactory.ParseSyntaxTree(code); ///Delete Comments ? } 解决方法:只是@SLaks回

  • c# – 从Roslyn的行号获取节点2019-06-11 14:53:17

    如何根据行号获取SyntaxNode?否则,如果它可以获得该行号的LineSpan然后到节点.解决方法:您可以从文档文本中获取一行的跨度.从那里,您可以找到与线的跨度相交的所有节点.这将返回多个语法节点,然后您可以使用您的条件来提取您要查找的节点: static void Main(string[] args)

  • c# – 如何获取声明的变量和其他定义2019-05-29 21:54:57

    我在嵌入式REPL中使用Roslyn脚本API,我不时需要知道在当前会话中定义了哪些变量,以及所有其他定义(类,接口……)以及引用和导入的命名空间. 我在API中找不到任何可以给我那种信息的东西,我知道它在某处. Dose Scripting API使用一些不寻常的实现,比如每次都更新内存中的程序集?如果

  • c# – Roslyn:获取第三方库中定义的类型的符号2019-05-28 04:53:36

    使用Roslyn / Microsoft.CodeAnalysis,我如何获得第三方类型的ISymbol,即在引用的程序集中定义的类型,它不是解决方案的一部分? 在我的特殊情况下,我正在寻找JSON.NET的JObject,但实际上同样的问题对于像StringBuilder等BCL这样的东西也是有效的. 我到目前为止唯一的想法是实现一个C

  • c# – 通过SyntaxFactory构建NameOf表达式(Roslyn)2019-05-22 19:53:21

    尝试使用C#SyntaxFactory从头开始构造表达式. Roslyn无法将我的InvocationExpressionSyntax识别为关键字的上下文名称,并在Emit命令时抛出错误诊断. 试图给Roslyn有效的代码解析,希望我能找到我的语法结构和“正确解析的”之间的差异.我能够跟踪差异到“nameof”标识符令牌,但那是

  • c# – LiteralExpression – ArgumentOutOfRangeException2019-05-20 13:52:14

    对于我的生活,我无法弄清楚为什么这行代码: var literalExpressionSyntax = Syntax.LiteralExpression(SyntaxKind.CharacterLiteralExpression); 在Roslyn CTP3下抛出ArgumentOutOfRangeException.解决方法:第二个参数是可选的原因是某些SyntaxKind值隐含了文本.例如,如果

  • c# – 如何使用Roslyn检查属性是否使用自定义属性进行修饰?2019-05-19 23:01:49

    我想使用Roslyn分析一个C#类,并打算在被访问属性应用了特定属性时执行某些操作.我怎么能在CSharpSyntaxWalker.VisitPropertyDeclaration方法覆盖中执行此操作? 例如,在下面的代码块中,我想知道Date属性是否具有Validation属性,如果是,则IsJDate是true还是false? [Validation(IsJDat

  • c# – 使用Roslyn获取项目中引用类型的列表2019-05-19 22:05:06

    我想获得项目中所有使用类型的列表,例如: var x = 1; var y = x.ToString().GetType(); 代码应该返回System.Int32,System.String,System.Type. 我所拥有的是慢慢…对于每个文件(语法树),我执行以下操作: var root = await syntaxTree.GetRootAsync(); var nodes = root.Descendan

  • c# – 编译器中的错误还是误解?或短裤上的运算符2019-05-19 17:05:38

    参见英文答案 > Bitwise-or operator used on a sign-extended operand in Visual Studio 2015                                    2个 我有一行代码在VS2015中给我一个警告信息(CS0675),但在2013年没有. shortValue |= (short)anEnum; W

  • c# – 使用Roslyn生成格式良好的语法2019-05-19 16:04:33

    我正在使用Roslyn来修改C#文件的语法.使用CSharpSyntaxRewriter,很容易在语法树中查找和替换节点.但是,生成的代码非常难看,甚至在所有情况下都不会解析,因为我创建的语法节点(使用SyntaxFactory)甚至缺少最少量的空白琐事. Roslyn是否提供了一些基本的格式化功能来避免这种情况,或

  • c# – 在内存中格式化SyntaxTree的最佳方法是什么?2019-05-16 20:56:06

    现有的Roslyn文档很薄,所以我希望有人知道如何做到这一点,或者至少指出我正确的方向.我尝试了很多东西,包括以下格式化sourceCode,但它不起作用: var tree = CSharpSyntaxTree.ParseText(soureCode); var root = (CSharpSyntaxNode)tree.GetRoot(); return root.ToFullString();

  • c# – 如何使用.NET编译器平台创建一个const声明2019-05-16 13:02:25

    我正在尝试使用Roslyn创建一个小代码生成器,或者现在称为.NET编译器平台,我使用的是encodeom,这很麻烦,但是MSDN得到了参考,现在Roslyn几乎没有文档,所有文档都专注于代码分析代替代码生成. 所以我的问题很简单:我怎样才能创建如下内容: private const string MyString = "This is m

  • 为什么C#编译器不能将枚举负值转换为枚举?2019-05-16 10:04:03

    此代码不能与latest C# compiler一起编译: public class Program { public static void Main() { IntEnum a = (IntEnum)-1; } } public enum IntEnum : int { } 当你试图编译它时,它会引发 (3,22,3,29): Error CS0119: ‘IntEnum’ is a type, which is n

  • c# – .NET Core上的Roslyn Scripting API:为什么编译器会抱怨“错误CS1501:WriteLine没有重载需要2个参数”?2019-05-16 10:02:29

    我正在开发一个针对OSX的netcoreapp1.0项目,我正在使用Roslyn设置一个脚本,如下所示: var scriptText = File.ReadAllText(args[0]); var scriptOptions = ScriptOptions.Default .WithReferences( typeof(System.Object).GetTypeInfo().Assembly ); var script

  • c# – 如何从Roslyn中的源代码获取语义模型2019-05-16 09:04:38

    在使用Roslyn的所有示例中,您都有类似这样的内容: SyntaxTree tree = CSharpSyntaxTree.ParseText( @"using System; using System.Collections.Generic; using System.Text; namespace HelloWorld { // A whole program here... }"); var root = (CompilationUnitSyntax)tre

  • 每日踩坑 2019-04-08 VS2015未能找到路径“…\bin\roslyn\csc.exe”的解决方案2019-04-08 09:01:23

    使用 Nuget 安装 Microsoft.CodeDom.Providers.DotNetCompilerPlatform 包即可。   VS2017都是用 roslyn 编译, VS2015原本的编译器 MSBuild 仍然是14版本,一些新的C#语法已经不支持编译,新的roslyn编译器,支持c# 6.0语法。它放到bin里面去是为了支持 asp.net 应用的动态编译。 通过

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有