2013-05-20 14 views
39

私はノックアウトモデル(typescript)を埋めるために使用するDTOのセットを含むC#ライブラリ(アセンブリ)を持っています。DTOからTypeScriptジェネレータ

私は、JSONデータとViewModelの間のマッピングが正しいことを確認したいと思います。

私のC#クラスからtypescriptですクラスを生成できるツールはありますか? T4などのようなもの(またはPOSTビルドイベントとして実行されるコマンドラインツール)?

(typescriptですファイルはDTOアセンブリよりも、別のプロジェクトに配置する必要があることに注意してください)

+0

...もあります - あなたは、カスタムビルドを指定することができますそれはコマンドラインから実行されます - http://www.c-sharpcorner.com/UploadFile/SamTomato/visual-studio-2010-typescript-build-tool/ –

+0

@RachelGallen:いいえ、それはJavaScriptをtypescriptに変換します。私はtypescriptにC#をしたい。 – jgauffin

+0

それはオプションとしてシャープでなく、あなたの望むようにします。もう一度見てください –

答えて

37

うん、この素晴らしいプロジェクトTypeLITEチェックアウト:http://type.litesolutions.net/

+0

TypeLITE [.NETのコアをサポートしていません](https://bitbucket.org/LukasKabrt/typelite/issues/123/not-working-with-core-10) –

+0

は、問題が閉じているので、私は私が書いていますここで答えてください。 TypeScriptテンプレートを使用してC#コードからTypeScriptファイルを生成するVisual Studio拡張機能である[TypeWriter](https://github.com/frhagn/Typewriter)を試してみてください。 AngularのWeb APIコントローラーにアクセスするには、[例](http://frhagn.github.io/Typewriter/pages/examples.html)を参照してください。 –

+0

私は[nuget.org](https://www.nuget.org/packages/TypeScriptModelsGenerator)に、リフレクションを使ってトリックを行うことができるパッケージを公開しました。型名や名前空間の正規表現を使用してモデルをスコープできます。これは.Net Standard 2.0クラスライブラリです。 – Gyocol

6

.d.tsを作成しますTypeScriptDと呼ばれる新しいライブラリがあります.NETクラスのファイル。

これはコマンドとして実行でき、.NETまたはwinmdで動作します。

+0

しかし、それはナゲットを通してインストールすることはできません。 –

3

私は同じような必要性を持っていましたが、既存のプロジェクトが一方的に制限されている(バグ、ジェネリック、ノー・メソッドなど)ことがわかったので、自分自身を巻き込んでしまった(http://cjlpowers.github.io/TypeScripter/)。私の場合は、サーバー側のServiceContract/DataContract型を扱っていて、クライアント側の開発を助けるために.d.tsファイルが必要でした。あなたはそれを微調整する必要がある場合、ソリューションは拡張可能です。

+0

@gotqn *はリンク先と見なされるかもしれませんが、質問には正確かつ簡潔な答えがあります。レビューキューに注意してください。 –

7

オープンソースプロジェクトNSwagチェックアウト:GUIを使用すると、既存のアセンブリから.NETクラスを選択し、そのための活字体のインターフェースを生成することができます。

screenshot

コマンドラインツールとサポートT4テンプレートのだけでなく、ウェブAPIコントローラのクライアントコードの生成は、この仕事をするだろう

関連する問題