最初からASP.NET MVCのコアプラグイン(2)の開発を達成するために - プロジェクトテンプレートを作成する方法

オリジナル: -プロジェクトテンプレートを作成する方法スクラッチプラグインASP.NET MVCのコア(B)の発展を達成するために

タイトル:ASP.NET MVCのコア(B)を達成するために開発スクラッチでのプラグイン-プロジェクトテンプレートを作成する方法
著者:Lamond呂
住所:https://www.cnblogs.com/lwqlun/p/11155666.html
出典:HTTPS ://github.com/lamondlu/Mystique

前回の記事では、我々はプラグインでASP.NET MVCのコアでApplicationPartを開発する方法を、一瞬のためにそれをデモするための最も簡単な例の1つを介して導入されました。最後に、我々は多くの問題が解決されるようになりました。

まず第一に、それ、問題を解決するために最初は、我々は、新しいプラグインするたびに再作成したプロジェクトを、作成、ライブラリの参照を追加し、手動でcsprojファイルを変更するたびに、非常に面倒です。操作のこの部分を削減する方法はありますか?

我々は、Visual Studioを使用してプロジェクトを作成するたびに、我々は、Visual Studioは、我々の選択のテンプレートに基づいてプロジェクトを作成することができるだけでなく、私たちはアセンブリ参照を必要とする、プロジェクトテンプレートを選択することができますが事前に設定されることを思い出して、ノー我々は、設定を繰り返す必要があります。だから我々はまだ独自のテンプレートの一部を作成することができますか?答えはイエスです。

本論文では、私はあなたが.NETのコアプロジェクト、流線操作のためのプロジェクトテンプレートを作成する方法を、お見せに来ます。

書き込みtemplate.jsonの

プロジェクトテンプレートを作成したい場合は、我々は2つのことを行う必要があります。

  • テンプレートとしてプロジェクトコードの作成
  • 書き込みtemplate.jsonファイル

ここでは、以前のプロジェクトのDemoPlugin1を作成しているので、今回はテンプレートプロジェクトに直接変換することができます。

まず、現在のプロジェクトを追加し.template.config、ディレクトリ、およびtemplate.jsonファイルを追加します。これは次のように読み取ります。

 
 
コピー
{ "author": "Lamond Lu", "classifications": [ "Web/Plugins" ], "name": "DemoPlugin1", "identity": "LamondDynamicPlugins", "shortName": "ldp", "tags": { "language": "C#" , "type":"project" }, "sourceName": "DemoPlugin1", "preferNameDirectory": true }

設定手順:

  • Author属性は必須、テンプレートの作成者を指定します
  • classifications属性を指定した分類テンプレートに必要
  • nameあなたが使用する場合、テンプレートの名前を表しdotnet newプロジェクトを作成する際に、必要なテンプレート名を指定します
  • identityこれはオプション、テンプレートの一意の名前を表します
  • shortNameそれは必要な、テンプレートの短い名前を表し
  • tags現在のテンプレートのラベルの数を指定します。
  • sourceNameとき、文字列を指定しdotnet new、時間指定されたパラメータの-n、-nパラメータ値は、交換してくださいsourceName指定された文字列を。現在のプロジェクトは、私たちは、ファイル名を投影し、すべての名前空間を使用DemoPlugin1ですが、我々は新しいプロジェクトを生成できない場合、我々は交換する-nパラメータを指定にプロジェクトの名前を使用する必要があるので」、この名前を使用していますDemoPlugin1」、現在の場合はdotnet new、プロジェクトの名前空間とプロジェクトファイル名のすべてが、新しいDemoPlugin2を使用するときに、プロジェクトが作成されるときのコマンドは、-nパラメータ値DemoPlugin2を指定します
  • preferNameDirectory同じ名前のビルドディレクトリかどうかは、オプションです。

template.json詳細な構成リスト、興味のある学生は、以下のリンクを表示することができます。<https://github.com/dotnet/templating/wiki/Reference-for-template.json>を

使用してテンプレートを作成してCLI-DOTNET

コードの書き込みが完了した後、我々は次のように使用できるdotnet-CLIテンプレートプロジェクトをインストールするコマンドを。

 
 
コピー
dotnet new -i <PATH>

ここで<PATH>あなたは、現在のテンプレートプロジェクトディレクトリを指定

コマンドを実行した後、テンプレートの新しいローカルリストの出力は、我々はそれを見つけることができDemoPlugin1、リスト内のテンプレートとして浮上しています。

使用するdotnet newプロジェクトの作成に#を

テンプレートがローカルにインストールされている場合、我々は使用することができdotnet new、我々は今、新しいプラグインを作成する例えば、私たちは、次のコマンドを使用することができ、プロジェクトを作成するコマンドを。

 
 
コピー
dotnet new ldp -n DemoPlugin2

コマンドを実行した後、対応するコードが出て生成されます。プロジェクトディレクトリに来て、我々は以前のことが判明しDemoPlugin1.csprojたファイルの名前が変更されたDemoPlugin2.csproj前のことを示す、template.json指定されたファイルは、sourceName私たちに正しい交換用プロジェクトファイル名助けを属性。

その後、我々は固有のコード・コントローラを見ることができ、その名前空間にも適切に置換されます。

どうでしょうか?これは、多くの前に手動で簡単な比率ではないでしょうか?

注:インストールしたばかりのテンプレートをアンインストールしたい場合は、使用する必要がdotnet new --debug:reinit使用され、本明細書のように、コマンドをdotnet new -uコマンドは削除されないことがあり、dotnet new -uテンプレートパッケージダウンnuget.orgからダウンロードにのみ適用されます

どのようにテンプレートがNugetパッケージにパッケージ化

プロジェクトテンプレートの道を作成するには、このディレクトリを使用してこれらのプロジェクトに加えて、我々はまた、Nugetパッケージを使用するために他の人のためのテンプレートとしてパッケージ化することができます。

あなたはここで、我々は最初のメタデータファイルNugetパッケージを作成する必要があるテンプレートを作成したい場合、我々は命名しますLamondDynamicPlugin.nuspec

 
 
コピー
<?xml version="1.0" encoding="utf-8"?> <package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd"> <metadata> <id>LamondDynamicPlugin</id> <version>1.0.0</version> <description> Creates dynamic plugin in asp.net core </description> <authors>Lamond Lu</authors> <packageTypes> <packageType name="Template" /> </packageTypes> </metadata> </package>

ここで設定したプロパティは、唯一の注意点は、非常にシンプルなpackageTypeセットでなければなりませんTemplate

あなたは良いメタデータファイルを作成した後、我々は使用することができNuget pack、これは指定する最初のパラメータコマンドで、パッケージにコマンドを.nuspec配置されているファイルへのパスを。

 
 
コピー
nuget pack DemoPlugin1/LamondDynamicPlugin.nuspec

ランニングの後、Nugetが生成されるLamondDynamicPlugin.nupkgファイルを、これは我々がNugetパッケージと呼んでいます。

テンプレートパッケージNugetの道をインストールするには、我々は同じコマンドを使用することができますdotnet new -i

 
 
コピー
dotnet new -i LamondDynamicPlugin.nupkg

あなたが他の人にテンプレートを共有することができるようにもちろん、一般的に、我々は、nuget.orgにこのNugetパッケージを公開します。

Nugetに公開した後、我々はそれを使用することができますLamondDynamicPlugin.nuspecユニークなIDが定義されたテンプレートをインストールします。テンプレートを装着する前に、コマンドのディレクトリからのインストールは同じです。

 
 
コピー
dotnet new -i LamondDynamicPlugin

テンプレートをアンインストールしたい場合は、単に使用dotnet new -u [Nuget包]缶を。

 
 
コピー
dotnet new -u LamondDynamicPlugin

要約

この記事では、私は方法を示しdotnet-CLI.NETのコアプロジェクトテンプレートを作成するには、どのように使用する他の人のためNugetプロジェクトテンプレートをパッケージ化し、これは、プラグインを手動我々の前に厄介な問題を作成するプロジェクトを解決します。次の問題は、私は滞在が調整され、コアクラスライブラリを作成し、ビジネス・ロジック・モジュールから抽象化しようとします。

おすすめ

転載: www.cnblogs.com/lonelyxmas/p/11904714.html