1.0 RC1から1.0 RC2に移植しようとした後でasp.netコアアプリケーションを起動できません。私が得るスタートアップエラーは次のとおりです。ASP.NET RC2の依存性注入エラー
Unhandled Exception: System.Exception: Could not resolve a service of type 'Microsoft.Extensions.Configuration.IConfiguration' for the parameter 'configuration' of method 'Configure' on type 'MYCOMPANY.MYTHING.Api.Startup'.
at Microsoft.AspNetCore.Hosting.Startup.ConfigureBuilder.Invoke(Object instance, IApplicationBuilder builder)
at Microsoft.AspNetCore.Hosting.Internal.WebHost.BuildApplication()
at Microsoft.AspNetCore.Hosting.WebHostBuilder.Build()
at MYCOMPANY.MYTHING.Api.Program.Main(String[] args)
これはどのように動作するはずですか?私は理解して
パーツは以下のとおりです。
マイstartup.csコードは、スタートアップで、私には正しいよう(IHostingEnvironmentのENV)私はConfigurationBuilderを作成し、builder.Build(に等しいStartup.Configurationを設定します) 。 ConfigureServicesメソッドにも到達し、そこにConfigurationオブジェクトが存在します。
Program.csでhost.Run()コードに達するとクラッシュします。
設定(app、env、loggerFactory、configuration、respository ...)メソッドは決して達成されません。 RC1では
このような行があるように使用:(私は働く新しいアプリケーションを読み、ラインを比較しようとしています新しいアプリケーションではもはや存在しないRC2では
services.AddInstance<IConfiguration>(Configuration);
行ごとに)。
私はこの仕事を作る方法を探して、そしてどのようにIConfigurationRootの依存性注入を理解するために、私は、この注射のために責任があるように思われる任意の属性やコードが表示されないされています。
更新:RC2でサポートされていないRC1コードで、奇妙なパターンを使用していたようです。 Configure()メソッドからいくつかの追加パラメータを削除した後、もう一度.netコア起動コードによって呼び出されました。
私はあなたのスタートアップの設定方法を見てみたいと思い、そのサービスに注意してください.AddInstanceがに変更されました。rc2のAddSingletonは、IConfigurationをConfigureメソッドに注入する必要はありません。Startupコンストラクタのプロパティとして永続化する必要があります。次にConfigureメソッド –