問題タブ [roslyn-code-analysis]
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# - CSharpAddImportCodeFixProvider でエラーが発生し、無効になりました
PC のイメージを再作成してもらいました。Visual Studio バージョン 14.0.25123.00 Update 2 がコンピューターにインストールされています。VS IntelliSense を使用して別のプロジェクトを参照しようとすると、このエラーが発生します。
CSharpAddImportCodeFixProvider でエラーが発生し、無効になりました
私は2つのプロジェクトを持っています。そのうちの 1 つが namespace を使用していますProjectName.Web
。そして、を使用する他のプロジェクトProjectName.Web.Controllers
。を参照するとプロバイダーがクラッシュしProjectName.Web.Controllers
ます。プロジェクトとしてセットアップされているためだと思います。これを修正する方法はありますか?
c# - Roslyn CodeFixProvider を使用してパラメーターをメソッドに追加する
メソッドがを使用しないかどうかを識別し、それを追加するコード修正を提案する Roslyn コード アナライザーを作成しています。async
CancellationToken
DiagnosticAnalyzer
を調べて Diagnostic を正しく報告するように を接続しましたが、 aの内部に amethodDeclaration.ParameterList.Parameters
を追加するための Roslyn API が見つかりません。Paramater
ParameterList
CodeFixProvider
これは私がこれまでに得たものです:
メソッド宣言を正しく更新し、更新されたを返すにはどうすればよいDocument
ですか?
c# - Roslyn CodeAnalyzer を使用して名前空間をクラスに追加する
Piggy back off Roslyn CodeFixProvider を使用してパラメーターをメソッドに追加します。
CodeFixProvider
すべての非同期メソッドが確実に取得できるようにするための作成に取り組んでいますCancellationToken
:
パラメータをメソッドに追加することはできますが、Type.FullName
. System.Threading
代わりに、using ステートメントをクラス ファイルの先頭に追加して、メソッドが完全な名前空間を使用する必要がないようにしたいと考えています。言い換えると:
usingステートメントをに追加するにはどうすればよいDocument
ですか?
私はいくつかの方法を試しましたが、SyntaxTree
参照内の複数のノードを置き換えると継ぎ目が失われます (ツリーは不変であり、変更のたびに再構築されるため)。
以下のコードで部分的に動作させることができましたが、これはプロパティが設定されている場合にのみ機能し、名前空間の後CompilationUnitSyntax.Using
にステートメントを使用する場合はそうではありません。また、これは、ファイルに少なくとも 1 つのステートメントが既に存在することにも依存しています。 using
これを行うより良い方法はありますか?
c# - SyntaxTreeAnalysisContext でセマンティック モデルを取得する
が与えられますが、クラス宣言である親ノードに上昇し、型にどの属性が配置されているかを確認するためSyntaxTreeAnalysisContext context
に必要なのは、SyntaxNodeAnalysisContext
そのプロパティを持つ です。SemanticModel
SyntaxTreeAnalysisContext
からまで行く方法はありSyntaxNodeAnalysisContext
ますか?
(編集) 例を挙げてみましょう:囲んでReportDiagnostics
いる型に属性を配置してその存在を検出し、次に、次のような診断の報告を省略しますSyntaxTreeAnalysisContext
c# - Roslynによるソリューション全体で特別なファイルを見つける方法は?
Roslynで特定のルールをコーディングしています。
このルールでは、アナライザーはメソッド宣言とその参照をソリューション全体で解析していSymbolFinder
ます。
私の要件の 1 つは、[複数のプロジェクトがある] ソリューションが Asp.Net Webform または Roslyn による Asp.MVC であることを理解する方法を見つけることです。
私たちのプロジェクトに基づいて、この目的のために、ソリューション全体で「Web.SiteMap」と呼ばれるファイルを見つける必要があります。
このファイルが存在する場合、このプロジェクトが Webform タイプであることがわかります。それ以外の場合は MVC です。
Roslyn で c# を使用するにはどうすればよいですか?