ICode9

精准搜索请尝试: 精确搜索
  • CodeGo.net>如何知道输入是否仅在罗斯林的ScripEngine中部分完成2019-11-22 11:08:00

    我正在与Roslyn建立REPL. 我如何确定会话的输入是否仅部分完成: > 1+1; > 2 //that works > int MyMethod(string a){ //error here, i'd like to continue writing the expression 此代码显示了问题: var engine = new ScriptEngine(); var session = engine.CreateSession();

  • c#-具有智能支持的文件动态生成枚举2019-11-21 22:07:39

    我听说过很多有关Roslyn的信息,我只是认为可以从xml文件动态生成代码,这样对于开发人员来说将是透明的,并且他可以使用IntelliSense枚举代码,就像将代码编写在项目中一样. 我正在编写一个通过配置文件完成很多自定义的框架,并且如果可能的话,我真的很想使用这种功能.解决方法:您想

  • c#-以编程方式修改(.net可执行文件的)元数据2019-11-21 09:07:27

    我希望我的应用程序能够修改.net可执行文件的元数据.是否有.net类来执行此操作,或者我必须解析可执行文件? (罗斯林在这里能帮上什么忙吗?) 如果我需要解析exe-它的格式是什么?我搜索了,但只想出了this Wikipedia entry.解决方法: If I need to parse the exe – What is its format?

  • 如何从罗斯林的AttributeSyntax获取AttributeData?2019-11-20 17:09:20

    问题与标题相同. 从AttributeSyntax类型的对象中,如何获取相关的AttributeData表示形式以访问元数据?解决方法:您需要找到要应用语法的ISymbol,调用GetAttributes(),并找到与ApplicationSyntaxReference匹配您的AttributeSyntax的返回的AttributeData.

  • 解析Roslyn中的参数类型2019-11-20 16:05:45

    我正在使用Roslyn实施自定义业务规则.目前,我有点卡住,在调用方法时必须验证参数的类型.验证该方法正在被调用或包含参数没有问题. 我已经通过使用GetSymbolInfo来获取我当前语法的符号来解析IdentifierNameSyntax.它不是null,并且具有我正在寻找的信息,例如: CandidateReason: Non

  • c#-将Roslyn代码重构为NuGet包2019-11-19 16:06:35

    安装.NET Compiler Platform SDK时,您将获得Visual Studio模板,用于创建“带有代码修复的分析器(NuGet VSIX)”和“代码重构(VSIX)”. 为什么没有用于通过NuGet交付代码重构的模板(例如“代码重构(NuGet VSIX)”)? 甚至可以从NuGet包中添加代码重构提供程序(通过手动创建NuGet包)?在

  • 如何使用roslyn获取未使用的引用?2019-11-19 15:10:15

    我有数百个项目,我想使用roslyn从每个项目中删除未使用的引用. 我看到了这个https://github.com/dotnet/roslyn/issues/625,但我不知道它是否已经实现,以及是否有一个我可以开始使用的poc示例. 如果您有任何想法,请帮助我.解决方法:我通过注册仅检查项目中所有源代码树,找到它们引

  • CodeGo.net>如何比较来自罗斯林不同项目的类型符号(ITypeSymbol)?2019-11-19 13:08:49

    我在解决方案中有2个测试项目. 第一个项目(“ VDoc”)声明VDocQuery类型.第二个项目(“ VDocQueryTest”)调用VDocQuery构造函数.我得到2个VDocQuery的ITypeSymbol(每个项目一个),将其进行比较,但得到错误的结果. 脚步:1.获取第一个ITypeSymbol(从VDoc项目中使用SemanticModel.Looku

  • CodeGo.net>在罗斯林项目中创建一个新的文件夹2019-11-19 06:08:09

    我有一个项目参考,并且正在通过AddDocument()向该项目添加一个新文档.问题是,无论我向呼叫发送什么内容,新文件总是以项目的根目录结尾.我试过在文件名前添加一个子目录: project.AddDocument(@"\GoHere\MyNewFile.cs", ...) 但这不起作用.这也没有: project.AddDocument(@"\GoHer

  • 使用Roslyn查找特定方法的所有方法调用2019-11-19 03:07:17

    我正在使用Roslyn在代码分析器上工作,当前的任务是查找程序集中未使用的所有内部方法. 我从MethodDeclarationSyntax开始并从中获取符号.然后,我在SymbolFinder中使用FindCallersAsync方法,但是即使我在程序集中某处对有问题的方法进行调用时,它也会返回一个空集合.请参见下面的代

  • c#-查找方法中使用了哪些using指令2019-11-18 09:18:37

    我怎么知道在给定SyntaxNode的后代中使用了哪些using指令. 请参见以下示例: https://dotnetfiddle.net/mCzNST在这里,我想知道在Class1中使用了哪些用法,但是忽略了在Class2中使用的用法.解决方法:您可以使用语义模型获得与语法节点相关的类型.类型信息知道相关的名称空间,您可以使

  • c#-从Roslyn分析器中的InvocationExpressionSyntax获取命名空间2019-11-18 05:14:52

    我正在尝试为Roslyn创建一个分析器,该分析器将阻止在给定名称空间中使用Asserts(以确保维护项目设计标准). 我已经可以确认这是否是一个断言,但是我不确定如何从上下文中获取名称空间. public override void Initialize(AnalysisContext context) { context.RegisterSyntaxNod

  • c#-Visual Studio报告了罗斯林分析仪中缺少的方法,但肯定存在2019-11-11 17:16:54

    我正在尝试使用此分析器(我写了) https://www.nuget.org/packages/Weingartner.Json.Migration.Analyzer/ https://github.com/Weingartner/Migrations.Json.Net 我将其应用于此源文件 using System; using System.Collections.Generic; using System.Linq; using System.Runtime.

  • 首页> C#>查找包含给定的SyntaxNode的MethodDeclarationSyntax2019-11-09 01:06:15

    我有以下源代码: public void MethodAssignment_WithIndexQuery_1(Customer from1, Customer to1, decimal amount) { var customers = _customerRepository.GetWhere(to1.Age); Customer indexCustomer1 = customers[(from1.Age + to1.Age)* to1.Age]; } 我给定了Synt

  • c#-RegisterCodeBlockAction和RegisterOperationBlockAction之间的区别2019-11-08 18:08:52

    我目前正在学习Roslyn的DiagnosticAnalyzer API,我想问一下两者之间的根本区别是什么 1)AnalysisContext.RegisterCodeBlock Register an action to be executed after semantic analysis of a method body or an expression appearing outside a method body. A code block acti

  • c#-如何使用Roslyn加载现有程序集,对其进行转换并生成新的.cs文件2019-10-31 00:09:18

    好像缺少有关Roslyn的文档? 我找不到很好的综合文档. 我实际上要做的是复制现有API(.dll)的公共表面放入一个新的程序集中(需要创建源代码.cs文件!),同时对所生成的代码进行各种转换(请考虑制作包装器类). 我将非常感谢您对如何使用Rolsyn从现有程序集中加载初始SyntaxTree以及如何进

  • 收集源代码更改列表,然后将其与Roslyn一起应用2019-10-29 16:08:44

    我正在与Roslyn一起实现不同的源代码转换. (代码上下文将是独立的命令行工具,而不是VS CodeAction) 实现CSharpSyntaxRewriter实现的最简单方法是在访问特定节点时动态应用更改.但是,此方法可能会导致副作用,也可能没有副作用.在更改树时,我们也在更改语义模型,因此先前获得的语义

  • c#-ISymbol.DeclaringSyntaxReferences和ISymbol.Locations之间的区别2019-10-26 21:08:41

    ISyntax界面中的DeclaringSyntaxReferences属性和Locations属性有什么区别?解决方法:答案的线索在< marks>中.评论部分: The syntax node(s) that declared the symbol. If the symbol was declared in metadata or was implicitly declared, returns an empty read-only array.

  • c#-使用定义的自定义符号(例如:“ DEBUG”)执行Roslyn条件编译2019-10-26 18:07:19

    我正在使用Roslyn编写一个类似于以下代码的项目: var workspace = MSBuildWorkspace.Create(); var project = await workspace.OpenProjectAsync("SomeProject.csproj"); var compilation = await project.GetCompilationAsync(); 我需要设置一个编译符号(例如DEBUG或TRACE,但是

  • c#-编译期间未发出编译器警告CS40142019-10-26 17:08:48

    当被调用方法在引用程序集中时,编译器警告CS4014(在不等待结果的情况下调用异步方法)不会作为警告发出. 当被调用的方法在同一程序集中时,将正确发出警告. 当两个项目包含在同一解决方案中时,在Visual Studio中会发出编译器警告. 造成这种差异的原因似乎是编译器仅具有编译的引用程

  • CodeGo.net>使用MSBuildWorkspace打开解决方案会给出诊断错误,没有详细信息2019-10-26 05:05:07

    我正在尝试使用Roslyn和MSBuildWorkspace分析解决方案. 该解决方案是一个新的解决方案,其中包含2个类库项目,一个引用另一个. 它们是在Visual Studio 2017 .Net 4.6.2中创建的. 打开解决方案时,我在工作区中收到两个通用错误,诊断均为:处理文件“ PathToProject”时,MSBuild失败诊断

  • 使用新的csproj在PDB中嵌入C#源代码2019-07-22 10:09:04

    最近发布的.NET工具似乎支持embedding C# in PDBs,这应该可以改善步入第三方等的体验.运行csc / ?,我可以清楚地看到/ embed选项:“在PDB中嵌入所有源文件“. 但是,似乎没有任何方法可以在csproj中指定它.更重要的是,似乎没有任何规定将任意开关传递给编译器,我将用它来手动传递/嵌

  • Roslyn Cookbook2019-07-17 09:00:27

    原文链接:http://www.cnblogs.com/xiexiaokui/p/10206267.html Roslyn Cookbook by Manish Vasani Publisher: Packt Publishing Release Date: July 2017 ISBN: 9781787286832    Design and Implement a New C# Language Feature In this chapter, w

  • C#中“假”linq理解语法关键字的可用选项?2019-07-12 16:08:37

    虽然在某些情况下我会使用方法链编写一些东西(特别是如果它只是一两个方法,比如foo.Where(..).ToArray()),在很多情况下我更喜欢LINQ查询理解语法相反(规范中的“查询表达式”),如下所示: var query = from filePath in Directory.GetFiles(directoryPath) let fileName =

  • c# – Roslyn / CSharpScript – 如何保存/加载编译以避免编译等待时间2019-07-11 07:05:06

    我正在尝试将c#脚本集成到我的数据库应用程序中.我正在使用globals对象来从脚本中访问全局变量. 如果第一次编译脚本,我对等待时间不满意.如何保存和加载编译以避免等待时间? Script<object> script = CSharpScript.Create(scriptCode, globalsType: typeof(MyGlobals)); script.Co

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

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

ICode9版权所有