問題タブ [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#インタラクティブウィンドウのフォントと色を変更する方法はありますか?

現在の設定からフォントと色を部分的に継承しているようで、今はかなり醜いです。フォントと色を調べましたが、C#Interactiveの設定がありません。

ewwwww ツールとオプション

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

c# - 「r」および「loadコマンド」の作業ディレクトリを設定する方法はありますか

Quesitonは、Roslyn.rsp ファイルの参照に関連しています

Roslynをインストールしました:C:\ Users \ name \ Documents \ Microsoft Codename RoslynCTP-2011年10月\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の一部であるVisualStudioバージョンには、「タイプ名の簡略化」クイックフィックスにこの機能がすでに含まれていますが、サンプルを調べると、この変換を行う簡単な方法が見つかりませんでした。


Kevin Pilch-Bissonの回答に基づいて、私は現在使用しています。

ToMinimalDisplayStringから取得できる場所CommonSyntaxTree

さらに複雑なのはToMinimalDisplayString、クラスLocationとを必要とするのSemanticModelに対し、document.GetSemanticModel()CommonSyntaxTree.GetLocationはインターフェイスのみを返すことです。
私は単にクラスにキャストすることで回避しましたが、これは今のところうまくいくようです。

うーん、クラスはC#固有であり、インターフェイスは言語に依存しないようです。


動作するバージョンをgithubにアップロードしました:https ://github.com/CodesInChaos/Roslyn

では機能しませんがvarforeachこれが現在のRoslynビルドの制限であると思われます。

0 投票する
3 に答える
2352 参照

c# - Roslyn CTP API を使用したコードの差分

Roslyn API を使用して基本的なコードの差分を作成しようとしていますが、予期しない問題が発生しています。基本的に、2 つのコードは同じですが、1 行追加されています。これは、変更されたテキストの行を返すだけのはずですが、何らかの理由で、すべてが変更されたことがわかります。行を追加するのではなく、1行だけ編集しようとしましたが、同じ結果が得られます。これをソース ファイルの 2 つのバージョンに適用して、2 つのバージョンの違いを識別できるようにしたいと考えています。現在使用しているコードは次のとおりです。

そして、ここに私が得ている出力があります:

興味深いことに、追加された行を除いて、各行がすべての行のトークンとして表示され、行を分割せずに表示されるようです。実際の変更を分離する方法を知っている人はいますか?

0 投票する
2 に答える
3153 参照

c# - Roslyn でコンパイルされたアセンブリをサンドボックス AppDomain に読み込む

スクリプト エンジンでスクリプトをコンパイルするコード スニペットがあり、アセンブリをバイト配列として取得します。

これをサンドボックスにロードしたいのですがAssembly、これが私が持っているものです:

これは、AssemblyResolve のイベント ハンドラーです。

これは、私がそうdomain.Load(assembly)すると_dynamicAssemblyを取得することを意味します。そのイベントにサブスクライブせずにそれを返すとAssemblyFileNotFoundException.

上記はコンパイルおよび実行されますが、問題は、ドメイン アセンブリで実行されるコードが実際にはサンドボックスで実行されないことです。送信メソッドを取得し、その中でファクトリを呼び出してこれを返すとAppDomain.CurrentDomain.FriendlyName、結果は次のようになります。MyRoslynApplication.vshost.exeこれはサンドボックスではありませんAppDomain

byte[]アセンブリを間違ってロードしていますか?

0 投票する
2 に答える
1842 参照

c# - Roslyn CTP を使用したスマートなリファクタリング

StyleCop/FXCop のようなビルドでいくつかの分析ツールを実行しています。

私が達成したいのは、これらによって生成される警告の一部を自動修正することです。

これは Roslyn CTP を使用して実行できると思いますか? 次を可能にする他のツールはありますか?

  1. コードテキストをスキャンして、守られていないルールを探しています。
  2. これを正しいコードに置き換えます。

一部の操作は VS エディターの単純なテキスト置換を使用して実行できますが、より複雑なことには他のツールを使用する必要があります。

だから私の質問は - この目的のために、Roslyn CTP は使用するツールですか? または、これを行うための .NET 用の他のツールはありますか?

0 投票する
3 に答える
1843 参照

c# - roslyn は列挙型を生成できますか?

だから、それは可能だと思いますが、それをまとめるためのチョップがありません。ルックアップ テーブルがあります (ID フィールドと名前フィールドを含む)。ルックアップと同期している列挙型があります。私が望むのは、SQL テーブルのリストを作成し、コンパイル中/コンパイル前に roslyn に列挙型を作成させることです。このようにして、列挙型が常に同期していることを知り、それは私の皿からもう1つ離れています。

誰かが私に道を教えてくれませんか、それともなぜそれが悪い考えなのか教えてくれませんか? 解決策は実際には多くのコードではないように感じます...

ありがとう!

0 投票する
4 に答える
3666 参照

c# - Roslyn で var 変数を宣言するにはどうすればよいですか?

次のコードがありますが、 var を取得する方法が見つかりませんTypeSyntax。何か案は?

これは、「キーワード」という引数例外で失敗します

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

c# - Roslynに.csxを自動的にロードする

プロジェクトからC#インタラクティブウィンドウをリセットするたびに、Visual StudioまたはRoslynに特定のコードスクリプトを実行するように指示することはできますか?

たとえば、ハッキングしているほとんどのデータを表示するプロッタ付きのフォームがあります。プロジェクトからC#インタラクティブウィンドウをリセットするたびに、プロットが自動的に読み込まれ、変数が作成されるようにしたいと思います。したがって、リセットするたびに次のコードを実行する必要があります。

これを.csxファイルに入れて、インタラクティブウィンドウで「load」コマンドを呼び出すことができますが、可能であれば自動的に実行したいと思います。

現在RoslynCTPでこれを行う方法はありますか?

ありがとう、

ジャワ

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

roslyn - Roslynと.NETレスC#?

Roslynは、初期ブートストラップを使用してC#で記述されています。.NET for c#が必要ない日への道を開くのでしょうか?たぶん、「。NET」ランタイムを備えたC#のバージョンで、「。NET」とは見なされないほど小さいのでしょうか。

よろしくお願いします。