2016-07-12 39 views
3

我工作的一个应用程序,我在Startup.cs部分类得到一个错误,我找不到为什么这个错误显示出来:asp.net的MVC核心的呼叫以下方法或属性之间暧昧:

呼叫是下列方法或属性之间暧昧: Microsoft.Extensions.DependencyInjection.OptionsServiceCollectionExtensions.Configure(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action) Microsoft.Extensions.DependencyInjection.OptionsServiceCollectionExtensions.Configure(Microsoft.Extensions .DependencyInjection.IServiceCollection,System.Action)

我的t WO局部Startup.cs类是

using Microsoft.Extensions.DependencyInjection; 
using System.Security.Claims; 
using Microsoft.AspNetCore.Http; 
using Microsoft.Extensions.Configuration; 


namespace GiftUWish.WebAPI 
{ 
    public partial class Startup 
    { 
     private void SetServices(IServiceCollection services) 
     { 
      //PROFILE service and repository 
      services.AddScoped<IProfileService, ProfileService>(); 
      services.AddScoped<IProfileRepository, ProfileRepository>(); 

      ////GIFT service and repository 
      services.AddScoped<IBankAccountService, BankAccountService>(); 
      services.AddScoped<IBankAccountRepository, BankAccountRepository>(); 

      //EVENT service and repository 
      services.AddScoped<ICreditCardService, CreditCardService>(); 
      services.AddScoped<ICreditCardRepository, CreditCardRepository>(); 


      //CREDIT CARD INFORMATION serice and repository 
      services.AddScoped<IPayPalService, PayPalService>(); 
      services.AddScoped<IPayPalRepository, PayPalRepository>(); 

      //CHIPPED IN serive and repository 
      services.AddScoped<IShippingAdressService, ShippingAdressService>(); 
      services.AddScoped<IShippingAdressRepository, ShippingAdressRepository>(); 

      //UNIT OF WORK 
      services.AddScoped<IUnitOfWork, UnitOfWork>(); 

      //Authentication-Token , Header which contains information about user from Identity Server 
      services.AddTransient<ClaimsPrincipal>(s => s.GetService<IHttpContextAccessor>().HttpContext.User); 

      //Facebook Graph API 
      services.AddScoped<IApi, Service.FacebbokGraph.API>(); 

      //Setup configuration settings form appsettings.json 

      services.Configure<FacebookApiSettings>(Configuration.GetSection("Facebook")); 
      services.Configure<BrainTreeSettings>(Configuration.GetSection("Paiment:BrainTree")); 
      services.Configure<PayPalAdaptivePaymentsAPI>(Configuration.GetSection("Paiment:PayPal:PayPalAdaptivePaymentsAPI")); 
      services.Configure<PayPalNonAdaptivePaymentsAPI>(Configuration.GetSection("Paiment:PayPal:PayPalNonAdaptivePaymentsAPI")); 
      services.Configure<PayPalPayFlow>(Configuration.GetSection("Paiment:PayPal:PayPalPayFlow")); 

      services.AddSingleton<IConfiguration>(Configuration); 
     } 
    } 
} 


using Microsoft.AspNetCore.Authentication.Cookies; 
using Microsoft.AspNetCore.Builder; 
using Microsoft.AspNetCore.Hosting; 
using Microsoft.AspNetCore.Http; 
using Microsoft.AspNetCore.Mvc; 
using Microsoft.Extensions.Configuration; 
using Microsoft.Extensions.DependencyInjection; 
using Microsoft.Extensions.Logging; 
using Newtonsoft.Json.Serialization; 
using System.Threading.Tasks; 

namespace GiftUWish.WebAPI 
{ 
    public partial class Startup 
    { 
     public static IConfiguration Configuration { get; set; } 

     private readonly string Audience = "https://localhost:44362/"; 

     public Startup(IHostingEnvironment env) 
     { 
      var builder = new ConfigurationBuilder() 
       .SetBasePath(env.ContentRootPath) 
       .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true) 
       .AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true) 
       .AddEnvironmentVariables(); 
      Configuration = builder.Build(); 
     } 

     // This method gets called by the runtime. Use this method to add services to the container. 
     public void ConfigureServices(IServiceCollection services) 
     { 
      // Add framework services. 
      services 
       .AddMvc(options => 
       { 
        options.Filters.Add(new RequireHttpsAttribute()); 
       }) 
       .AddJsonOptions(options => 
       { 
        options.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver(); 
       }); 

      services.Configure<CookieAuthenticationOptions>(options => 
      { 
       options.Events = new CookieAuthenticationEvents() 
       { 
        OnRedirectToLogin = ctx => 
        { 
         if (ctx.Request.Path.StartsWithSegments("/api") && ctx.Response.StatusCode == 200) 
         { 
          ctx.Response.StatusCode = (int)System.Net.HttpStatusCode.Unauthorized; 
          return Task.FromResult<object>(null); 
         } 
         else 
         { 
          ctx.Response.Redirect(ctx.RedirectUri); 
          return Task.FromResult<object>(null); 
         } 
        } 
       }; 
      }); 


      //Add DI and other services 
      SetServices(services); 
     } 

     // This method gets called by the runtime. Use this method to configure the HTTP request pipeline. 
     public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory) 
     { 
      loggerFactory.AddConsole(Configuration.GetSection("Logging")); 
      loggerFactory.AddDebug(); 

      app.UseDeveloperExceptionPage(); 

      CookieAuthenticationOptions options = new CookieAuthenticationOptions(); 
      options.AuthenticationScheme = "Cookies"; 
      options.CookieName = "GUW Cookie"; 
      options.AutomaticAuthenticate = true; 
      options.AutomaticChallenge = true; 
      options.LoginPath = new PathString("/Account/Login"); 
      options.Events = new CustomCookieAuthenticationEvents(); 

      app.UseCookieAuthentication(options); 

      app.UseMvc(); 
     } 
    } 
} 

Project.json依赖性

“依赖性”:{ “Braintree的”: “2.61.0”, “Microsoft.AspNet.Mvc.Core”:“ 6.0.0-rc1-final“, ”Microsoft.AspNetCore.Diagnostics“:”1.0.0“, ”Microsoft.AspNetCore.Identity“:”1.0.0“, ”Microsoft.AspNetCore.Mvc“:”1.0 “0”, “Microsoft.AspNetCore.Server.IISIntegration”:“1.0.0”, “Microsoft.AspNetCore.Server.Kestrel”:“1.0.0”, “Microsoft.Extensions.Confi guration.EnvironmentVariables“:”1.0.0“, ”Microsoft.Extensions.Configuration.FileExtensions“:”1.0.0“, ”Microsoft.Extensions.Configuration.Json“:”1.0.0“, ”Microsoft.Extensions .Logging“:”1.0.0“, ”Microsoft.Extensions.Logging.Console“:”1.0.0“, ”Microsoft.Extensions.Logging.Debug“:”1.0.0“, ”Microsoft.Extensions。选项“:”1.0.0“, ”Microsoft.Extensions.Options.ConfigurationExtensions“:”1.0.0“, ”Microsoft.IdentityModel.Tokens“:”5.0.0“, ”Microsoft.Owin.Security.Cookies “: “3.0.1”, “Microsoft.Owin.Security.OAuth”: “3.0.1”, “Newtonsoft.Json”: “9.0.1”, “贝宝”: “1.7.3”, “PayPalAdaptiveAccountsSDK”: “2.9.110”, “PayPalAdaptivePaymentsSDK”: “2.15.117”, “PayPalCoreSDK”: “1.7.1”, “PayPalMerchantSDK”: “2.16.117”, “System.IdentityModel。 Tokens.Jwt“: ”5.0.0“ },

的错误是在这里:

services.Configure<FacebookApiSettings>(Configuration.GetSection("Facebook")); 
      services.Configure<BrainTreeSettings>(Configuration.GetSection("Paiment:BrainTree")); 
      services.Configure<PayPalAdaptivePaymentsAPI>(Configuration.GetSection("Paiment:PayPal:PayPalAdaptivePaymentsAPI")); 
      services.Configure<PayPalNonAdaptivePaymentsAPI>(Configuration.GetSection("Paiment:PayPal:PayPalNonAdaptivePaymentsAPI")); 
      services.Configure<PayPalPayFlow>(Configuration.GetSection("Paiment:PayPal:PayPalPayFlow")); 

日Thnx

回答

5

这是因为你混合包版本 - 你混合RC1(Microsoft.AspNet.Mvc.Core": "6.0.0-rc1-final")与1.0.0。将所有内容移至1.0.0。

+0

Thnx,我在此期间想通了。 – Wasyster

相关问题