問題タブ [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.
visual-studio-2010 - Roslyn CTPのC#インタラクティブウィンドウのフォントと色を変更する方法はありますか?
現在の設定からフォントと色を部分的に継承しているようで、今はかなり醜いです。フォントと色を調べましたが、C#Interactiveの設定がありません。
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を読み込めません:
一方:
プロジェクトフォルダを指定しないための回避策はありますか?
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
では機能しませんがvar
、foreach
これが現在のRoslynビルドの制限であると思われます。
c# - Roslyn CTP API を使用したコードの差分
Roslyn API を使用して基本的なコードの差分を作成しようとしていますが、予期しない問題が発生しています。基本的に、2 つのコードは同じですが、1 行追加されています。これは、変更されたテキストの行を返すだけのはずですが、何らかの理由で、すべてが変更されたことがわかります。行を追加するのではなく、1行だけ編集しようとしましたが、同じ結果が得られます。これをソース ファイルの 2 つのバージョンに適用して、2 つのバージョンの違いを識別できるようにしたいと考えています。現在使用しているコードは次のとおりです。
そして、ここに私が得ている出力があります:
興味深いことに、追加された行を除いて、各行がすべての行のトークンとして表示され、行を分割せずに表示されるようです。実際の変更を分離する方法を知っている人はいますか?
c# - Roslyn でコンパイルされたアセンブリをサンドボックス AppDomain に読み込む
スクリプト エンジンでスクリプトをコンパイルするコード スニペットがあり、アセンブリをバイト配列として取得します。
これをサンドボックスにロードしたいのですがAssembly
、これが私が持っているものです:
これは、AssemblyResolve のイベント ハンドラーです。
これは、私がそうdomain.Load(assembly)
すると_dynamicAssemblyを取得することを意味します。そのイベントにサブスクライブせずにそれを返すとAssembly
、FileNotFoundException
.
上記はコンパイルおよび実行されますが、問題は、ドメイン アセンブリで実行されるコードが実際にはサンドボックスで実行されないことです。送信メソッドを取得し、その中でファクトリを呼び出してこれを返すとAppDomain.CurrentDomain.FriendlyName
、結果は次のようになります。MyRoslynApplication.vshost.exe
これはサンドボックスではありませんAppDomain
byte[]
アセンブリを間違ってロードしていますか?
c# - Roslyn CTP を使用したスマートなリファクタリング
StyleCop/FXCop のようなビルドでいくつかの分析ツールを実行しています。
私が達成したいのは、これらによって生成される警告の一部を自動修正することです。
これは Roslyn CTP を使用して実行できると思いますか? 次を可能にする他のツールはありますか?
- コードテキストをスキャンして、守られていないルールを探しています。
- これを正しいコードに置き換えます。
一部の操作は VS エディターの単純なテキスト置換を使用して実行できますが、より複雑なことには他のツールを使用する必要があります。
だから私の質問は - この目的のために、Roslyn CTP は使用するツールですか? または、これを行うための .NET 用の他のツールはありますか?
c# - roslyn は列挙型を生成できますか?
だから、それは可能だと思いますが、それをまとめるためのチョップがありません。ルックアップ テーブルがあります (ID フィールドと名前フィールドを含む)。ルックアップと同期している列挙型があります。私が望むのは、SQL テーブルのリストを作成し、コンパイル中/コンパイル前に roslyn に列挙型を作成させることです。このようにして、列挙型が常に同期していることを知り、それは私の皿からもう1つ離れています。
誰かが私に道を教えてくれませんか、それともなぜそれが悪い考えなのか教えてくれませんか? 解決策は実際には多くのコードではないように感じます...
ありがとう!
c# - Roslyn で var 変数を宣言するにはどうすればよいですか?
次のコードがありますが、 var を取得する方法が見つかりませんTypeSyntax
。何か案は?
これは、「キーワード」という引数例外で失敗します
c# - Roslynに.csxを自動的にロードする
プロジェクトからC#インタラクティブウィンドウをリセットするたびに、Visual StudioまたはRoslynに特定のコードスクリプトを実行するように指示することはできますか?
たとえば、ハッキングしているほとんどのデータを表示するプロッタ付きのフォームがあります。プロジェクトからC#インタラクティブウィンドウをリセットするたびに、プロットが自動的に読み込まれ、変数が作成されるようにしたいと思います。したがって、リセットするたびに次のコードを実行する必要があります。
これを.csxファイルに入れて、インタラクティブウィンドウで「load」コマンドを呼び出すことができますが、可能であれば自動的に実行したいと思います。
現在RoslynCTPでこれを行う方法はありますか?
ありがとう、
ジャワ
roslyn - Roslynと.NETレスC#?
Roslynは、初期ブートストラップを使用してC#で記述されています。.NET for c#が必要ない日への道を開くのでしょうか?たぶん、「。NET」ランタイムを備えたC#のバージョンで、「。NET」とは見なされないほど小さいのでしょうか。
よろしくお願いします。