問題タブ [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.

0 投票する
7 に答える
11785 参照

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ます。プロジェクトとしてセットアップされているためだと思います。これを修正する方法はありますか?

0 投票する
1 に答える
1834 参照

c# - Roslyn CodeFixProvider を使用してパラメーターをメソッドに追加する

メソッドがを使用しないかどうかを識別し、それを追加するコード修正を提案する Roslyn コード アナライザーを作成していますasyncCancellationToken

DiagnosticAnalyzerを調べて Diagnostic を正しく報告するように を接続しましたが、 aの内部に amethodDeclaration.ParameterList.Parametersを追加するための Roslyn API が見つかりません。ParamaterParameterListCodeFixProvider

これは私がこれまでに得たものです:

メソッド宣言を正しく更新し、更新されたを返すにはどうすればよいDocumentですか?

0 投票する
1 に答える
1725 参照

c# - Roslyn CodeAnalyzer を使用して名前空間をクラスに追加する

Piggy back off Roslyn CodeFixProvider を使用してパラメーターをメソッドに追加します

CodeFixProviderすべての非同期メソッドが確実に取得できるようにするための作成に取り組んでいますCancellationToken:

パラメータをメソッドに追加することはできますが、Type.FullName. System.Threading代わりに、using ステートメントをクラス ファイルの先頭に追加して、メソッドが完全な名前空間を使用する必要がないようにしたいと考えています。言い換えると:

usingステートメントをに追加するにはどうすればよいDocumentですか?

私はいくつかの方法を試しましたが、SyntaxTree参照内の複数のノードを置き換えると継ぎ目が失われます (ツリーは不変であり、変更のたびに再構築されるため)。

以下のコードで部分的に動作させることができましたが、これはプロパティが設定されている場合にのみ機能し、名前空間のCompilationUnitSyntax.Usingにステートメントを使用する場合はそうではありません。また、これは、ファイルに少なくとも 1 つのステートメントが既に存在することにも依存しています。 using

これを行うより良い方法はありますか?

0 投票する
1 に答える
519 参照

c# - SyntaxTreeAnalysisContext でセマンティック モデルを取得する

が与えられますが、クラス宣言である親ノードに上昇し、型にどの属性が配置されているかを確認するためSyntaxTreeAnalysisContext contextに必要なのは、SyntaxNodeAnalysisContextそのプロパティを持つ です。SemanticModel

SyntaxTreeAnalysisContextからまで行く方法はありSyntaxNodeAnalysisContextますか?

(編集) 例を挙げてみましょう:囲んReportDiagnosticsいる型に属性を配置してその存在を検出し、次に、次のような診断の報告を省略しますSyntaxTreeAnalysisContext

0 投票する
0 に答える
131 参照

c# - Roslynによるソリューション全体で特別なファイルを見つける方法は?

Roslynで特定のルールをコーディングしています。

このルールでは、アナライザーはメソッド宣言とその参照をソリューション全体で解析していSymbolFinderます。

私の要件の 1 つは、[複数のプロジェクトがある] ソリューションが Asp.Net Webform または Roslyn による Asp.MVC であることを理解する方法を見つけることです。

私たちのプロジェクトに基づいて、この目的のために、ソリューション全体で「Web.SiteMap」と呼ばれるファイルを見つける必要があります。

このファイルが存在する場合、このプロジェクトが Webform タイプであることがわかります。それ以外の場合は MVC です。

Roslyn で c# を使用するにはどうすればよいですか?