ASP.NET Core 2.2から3.0まであなたはこれらの問題に出会うかもしれません。
休みの間にマイクロソフトの公式文書を勉強して基礎知識を固めたいです。マイクロソフトはすでに発表されていることを知っています。NET Core 3.0の第三のプレビュー版は、同時に我が家のパソコンにもvs 2019が設置されています。So、vs 2019+.NET Core 3.0を使って、Contoso UniversityというWEBアプリを作ってみましたが、3.0に基づいて操作する時に問題があったので、マイクロソフトの『ASP.NET Coreから2.2から3.0プレビュー版2』という文書を見てみました。今日出会った問題について、整理してみます。もちろん皆さんもマイクロソフトの公式文書を直接読んでみてください。しかし、公式の説明を読んでいると、翻訳が正確ではないような気がします。読みにくいので、ここは自分の理解で公式文書を補足します。
私が出会った問題
AS.NET Core 2.0時代は、プロジェクトにEF Coreサポートを追加するには、該当するデータベースドライバをインストールする必要があります。教程ではSQL Serverを使用しており、関連の駆動カバンはMicrosoft.EnttityFrame ework Core.Sql Serverです。このカバンはMicrosoft.AspNetCore.App元のカバンに含まれています。そのため、アプリケーションがMicrosoft.AspNetCore.Appパッケージに対するパケット参照を持っているなら、そのパケットを参照する必要はありません。2.0の中のテンプレートプロジェクトは自動的にMcrosoff.AsppNetCore.Appのこのカバンをロードしてくれます。しかし、3.0でこのMcrosoff.AspNetCore.Appのカバンがなくなりました。モジュール化されたのはもっと徹底的です。必要なEF関連のカバンはあなた自身で参照してください。
2.0リットル3.0アップグレードガイド
今日発生した問題について、ASP.NET Coreが2.0から3.0にアップグレードしたアップグレードマニュアルを整理して、皆さんに助けてほしいです。もちろん皆さんも直接マイクロソフトの公式文書を読んでみてください。しかし、公式の説明を読んでいると、翻訳が正確ではないような気がします。読みにくいので、ここは自分の理解で公式文書を補足します。
プロジェクトファイルを更新します
Target Fraamewarkからnet corepp 3.0まで設定する:
「Package Reference」の要素の中の残りのMicrosoft.AspNetCore.*パッケージを現在のプレビュー版に更新します。
対応する3.0バージョンのパケットがない場合、パッケージは3.0で廃棄される可能性があると説明しています。その中の多くは前にMicrosoft.AspNetCore.Appに属していて、単独で参照する必要がないカバンです。上記のように、SQL ServerのEFに関するカバンです。具体的には3.0で生成されないパケットのリストは、aspnet/AspNetCore落3756。を参照してください。
一部のプログラムセットはすでに2.2 xと3.0の間のMicrosoft.aspnet coree.apから削除されました。aspnet/AspNetCore落3755にリストされているカバンの中のAPIを使用していると、単独で追加する必要があります。
例えば、Microsoft.EnttityFrame ewarkCoreとSystem.Data.Sql Cientは、Microsoft.AspNetCore.Appの一部ではない。Microsoft.aspnet corel.apのプログラム集のリストはまだ未定稿です。3.0 RTMの前に変更します。
Json.NETサポートを追加します。
プロジェクトのデフォルトはASP.NET Core 3.0またはより高いバージョンはプロセス内のベアラモデルに設定されています。もちろん、その値がInProcessであれば、「AspNetCoreHostingModel」要素を削除して変更することもできます。
AS.NET Core共有を高めるフレームワークの一部として、Json.NETはASP.NET Core共有フレームから削除されている。
AS.NET Core 3.0項目にJson.NETを使う場合:
パケット参照Microsoft.AsppNetCore.Mvc.Newtonift Jsonに追加
ConfigreServicesを更新してAddNewtonsoft Jsonを呼び出します。
AS.NET Core 3.0テンプレート汎型宿主を使用します。初期バージョンはWebホストを使用します。下記のコードはASP.NET Core 3.0テンプレートProgram類を生成することを示しています。
WebHostBuiderからHostBuiderまでの最も著しい変化は依存関係注入(DI)である。使用時のHostBuiderは、ステージアップのコンストラクタにIConfigrationおよびIHostingEvironmentだけを注入することができます。HostBuider DI制約:はDI容器を一回だけ構築することができます。 は、複数の単一の例を解決するなど、生成されたオブジェクト生存期間問題を回避する。
SignalRコードを更新します。
AddJsonProtocolを呼び出すと、それをAddNewtonift JsonProtocolに置き換えます。
以下の例は変更前後のサーバコードを表示します。
3.0では、実行時にコンパイルがオプションです。実行時のコンパイルを有効にするには、AS.NET CoreのRazorファイルのコンパイル。を参照してください。
締め括りをつける
マイクロソフトはASP.NET Coreのモジュール化に努めているような気がします。いろいろな依存を減らして、カバンを小さくしています。また、ASP.NET Coreも完璧になりました。みんながASP.NET Coreを使う時です。もう一つ説明したいのは、ASP.NET Core 3.0を体験するためなら、今は大丈夫です。生産環境で使うなら、正式版の発表を待つほうがいいです。
上记は小编で绍介したASP.NET Core 2.2から3.0までの问题点を详しく整理し、皆さんに助けてほしいです。もし何か疑问があれば、メッセージをください。小编はすぐに皆さんに返事します。ここでも私たちのサイトを応援してくれてありがとうございます。
私が出会った問題
AS.NET Core 2.0時代は、プロジェクトにEF Coreサポートを追加するには、該当するデータベースドライバをインストールする必要があります。教程ではSQL Serverを使用しており、関連の駆動カバンはMicrosoft.EnttityFrame ework Core.Sql Serverです。このカバンはMicrosoft.AspNetCore.App元のカバンに含まれています。そのため、アプリケーションがMicrosoft.AspNetCore.Appパッケージに対するパケット参照を持っているなら、そのパケットを参照する必要はありません。2.0の中のテンプレートプロジェクトは自動的にMcrosoff.AsppNetCore.Appのこのカバンをロードしてくれます。しかし、3.0でこのMcrosoff.AspNetCore.Appのカバンがなくなりました。モジュール化されたのはもっと徹底的です。必要なEF関連のカバンはあなた自身で参照してください。
2.0リットル3.0アップグレードガイド
今日発生した問題について、ASP.NET Coreが2.0から3.0にアップグレードしたアップグレードマニュアルを整理して、皆さんに助けてほしいです。もちろん皆さんも直接マイクロソフトの公式文書を読んでみてください。しかし、公式の説明を読んでいると、翻訳が正確ではないような気がします。読みにくいので、ここは自分の理解で公式文書を補足します。
プロジェクトファイルを更新します
Target Fraamewarkからnet corepp 3.0まで設定する:
<TargetFramework>netcoreapp3.0</TargetFramework>
Microsoft.ArpNetCore.AllまたはMicrosoft.AspNetCore.App元のパッケージのいずれかを削除します。「Package Reference」の要素の中の残りのMicrosoft.AspNetCore.*パッケージを現在のプレビュー版に更新します。
対応する3.0バージョンのパケットがない場合、パッケージは3.0で廃棄される可能性があると説明しています。その中の多くは前にMicrosoft.AspNetCore.Appに属していて、単独で参照する必要がないカバンです。上記のように、SQL ServerのEFに関するカバンです。具体的には3.0で生成されないパケットのリストは、aspnet/AspNetCore落3756。を参照してください。
一部のプログラムセットはすでに2.2 xと3.0の間のMicrosoft.aspnet coree.apから削除されました。aspnet/AspNetCore落3755にリストされているカバンの中のAPIを使用していると、単独で追加する必要があります。
例えば、Microsoft.EnttityFrame ewarkCoreとSystem.Data.Sql Cientは、Microsoft.AspNetCore.Appの一部ではない。Microsoft.aspnet corel.apのプログラム集のリストはまだ未定稿です。3.0 RTMの前に変更します。
Json.NETサポートを追加します。
プロジェクトのデフォルトはASP.NET Core 3.0またはより高いバージョンはプロセス内のベアラモデルに設定されています。もちろん、その値がInProcessであれば、「AspNetCoreHostingModel」要素を削除して変更することもできます。
AS.NET Core共有を高めるフレームワークの一部として、Json.NETはASP.NET Core共有フレームから削除されている。
AS.NET Core 3.0項目にJson.NETを使う場合:
パケット参照Microsoft.AsppNetCore.Mvc.Newtonift Jsonに追加
ConfigreServicesを更新してAddNewtonsoft Jsonを呼び出します。
services.AddMvc()
.AddNewtonsoftJson();
Newtoniftの個人化設定はAddNewtowsoft Jsonに設定できます。
services.AddMvc()
.AddNewtonsoftJson(options =>
options.SerializerSettings.ContractResolver =
new CamelCasePropertyNamesContractResolver());
HostBuider置換WebHostBuiderAS.NET Core 3.0テンプレート汎型宿主を使用します。初期バージョンはWebホストを使用します。下記のコードはASP.NET Core 3.0テンプレートProgram類を生成することを示しています。
public class Program
{
public static void Main(string[] args)
{
CreateHostBuilder(args).Build().Run();
}
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
});
}
次のコードプレゼンテーションテンプレートは、ASP.NET Core 2.2 Programクラスを生成します。
public class Program
{
public static void Main(string[] args)
{
CreateWebHostBuilder(args).Build().Run();
}
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>();
}
IWebHostBuiderは3.0に保持され、webBuiderの上のコードの例を示します。WebHostBuiderは未来バージョンでは破棄され、HostBuiderに変更されます。WebHostBuiderからHostBuiderまでの最も著しい変化は依存関係注入(DI)である。使用時のHostBuiderは、ステージアップのコンストラクタにIConfigrationおよびIHostingEvironmentだけを注入することができます。HostBuider DI制約:
AddJsonProtocolを呼び出すと、それをAddNewtonift JsonProtocolに置き換えます。
以下の例は変更前後のサーバコードを表示します。
services.AddSignalR(...)
.AddJsonProtocol(...) // 2.2
services.AddSignalR(...)
.AddNewtonsoftJsonProtocol(...) // 3.0
以下の例は変更前後のNETクライアントコードを表示します。
connection = new HubConnectionBuilder()
.WithUrl(...)
.AddJsonProtocol(...) // 2.2
.Build()
connection = new HubConnectionBuilder()
.WithUrl(...)
.AddNewtonsoftJsonProtocol(...) // 3.0
.Build()
運転を有効にする場合にコンパイルする場合に選択します。3.0では、実行時にコンパイルがオプションです。実行時のコンパイルを有効にするには、AS.NET CoreのRazorファイルのコンパイル。を参照してください。
締め括りをつける
マイクロソフトはASP.NET Coreのモジュール化に努めているような気がします。いろいろな依存を減らして、カバンを小さくしています。また、ASP.NET Coreも完璧になりました。みんながASP.NET Coreを使う時です。もう一つ説明したいのは、ASP.NET Core 3.0を体験するためなら、今は大丈夫です。生産環境で使うなら、正式版の発表を待つほうがいいです。
上记は小编で绍介したASP.NET Core 2.2から3.0までの问题点を详しく整理し、皆さんに助けてほしいです。もし何か疑问があれば、メッセージをください。小编はすぐに皆さんに返事します。ここでも私たちのサイトを応援してくれてありがとうございます。