X.足場ライブラリ





注意! NuGetのパッケージを更新しました。 詳細は記事の最後にあります。



Visual Studio 2013、ASP.NET MVC 5、およびEntity Framework 6のリリースにより、Visual Studioに組み込まれたスキャフォールド機能がさらに向上しました。 ただし、これまで、新しいWebアプリケーションを作成するには、自動化できる多くのアクションを実行する必要があります。

したがって、私と一緒に作業する開発者のために、Webアプリケーションをより効率的に作成できるX.Scaffoldingパッケージが作成されました。 現在、このパッケージに基づいて、データを操作するための新しいWebアプリケーションのほとんどを開発しています。



今日、私はこのプロジェクトをHabrahabrの読者と共有することにしました。 おそらくそれは誰かにとって興味深く、彼の仕事を手伝うように見えるかもしれませんが、誰か自身がその開発に参加したいと思うでしょう。



ご存じのように、Visual Studioには膨大な数の関数が用意されており、ルーチン操作を自動化し、メインタスクに集中することができます。 このような便利で十分に要求される機能の1つは、データベースエンティティの編集フォームを生成する機能です。 この機能はかなり前に登場しましたが、Visual Studio 2013のリリースにより、ベースアプリケーションテンプレートブートストラップへの統合がさらに便利になりました。 しかし、ご存知のように、限界に完全なものはありません。



パッケージを作成する理由の1つは、EditorForなどのさまざまな拡張メソッドによって作成された標準コントロールが、ブートストラップフレームワークの観点から完全に有効なコードを生成しないためです。 この結果、エディターのあるページはあまりうまく表示されません。 スタイルの手動編集を回避するために、カスタム拡張メソッドのセットも開発されました。



さらに、すべてのデータ型が標準の拡張機能でサポートされているわけではありません。 たとえば、今では多くのプロジェクトで、パッケージの機能を使用してHTMLエディター、カレンダー、ビデオプレビューを作成することがよくあります。



拡張機能



ライブラリの重要な役割は、HtmlHelperの拡張メソッドを含むExtensionsクラスによって果たされます。





すべての拡張機能の正しい動作を保証するために、いくつかのファイルがパッケージに追加され、Webアプリケーションの構造といくつかの依存関係にファイルが追加されました。 それらをより詳細に検討しましょう。



パッケージ構造



X.Scaffolding NuGetパッケージをインストールすると、次のような要素がWebアプリケーションに追加されます。





認証モジュール


認証モジュールは、bootsnipp.comのテンプレートに基づいています




X. Scaffoldingパッケージによって直接追加されたファイルに加えて、他のいくつかのパッケージと関連ファイルもプロジェクトに追加されます。 それらをより詳細に検討しましょう。



NuGetプラグインパッケージ






今すぐ参加しよう!







誰もがライブラリのソースコードに精通し、その機能を拡張できます。

プロジェクトのソースコードはGitHubで入手できます



ヌジェ


NuGetリポジトリからパッケージをインストールできますInstall-Package xscaffolding







免責事項
ライブラリは主に独自のプロジェクトで使用するために作成されているため、使用する際に考慮すべき点がいくつかあるとすぐに警告します。

  • ライブラリは、プロジェクトでASP.NET MVC 5バージョンとEntiy Framework 6バージョンを使用するように設計されています。
  • パッケージをインストールすると、独自のファビコンがWebアプリケーションに追加されます(現在、パッケージのインストールのほとんどが独自のプロジェクトで実行されているため)
  • インストール時に、WindowsAzure.StorageパッケージへのリンクがWebアプリケーションに追加されます。これは、Windows Azureで作業していない人にとっては冗長になる可能性があります




ただし、ライブラリのソースコードは現在公開されています。 さらに、ライブラリに十分な関心がある場合は、X.Scaffolding.Coreパッケージを作成する予定です。このパッケージでは、上記のパッケージへのバインドはなく、ファビコンもありません。





更新する

最初、NuGetのパッケージにはライブラリとデザインスタイルの両方が含まれていたため、2つの部分に分割することにしました。



したがって、プロジェクトで追加のcssスタイルが必要ない場合は、 X.Scaffolding.Coreパッケージを使用できます。



All Articles