簡體   English   中英

ASP.Net 5:將1.0 Beta8更新到RC1-IServiceCollection不包含AddMvc的定義

[英]ASP.Net 5: Updating 1.0 Beta8 to RC1 - IServiceCollection does not contain definition for AddMvc

在單個解決方案中,我有一些由授權api項目,公共項目和ASP.net主應用程序項目組成的代碼。 我瀏覽了相關的project.json文件,並刪除了明確的beta8引用,然后進行了一些其他必需的更正。 例如,在必要時使用Microsoft.Framework.Configuration更改為Microsoft.Extensions.Configuration。

從鏈接的潛在重復項中我了解到,首先要懷疑的是我的各個project.json文件中的引用無效混合。 我沒有明確地保留任何地方的beta8引用。 因此,我認為鏈接的問題並不相同。

卡住的地方似乎是一件非常基本的事情:

Error   CS1061  Build   'IServiceCollection' does not contain a
definition for 'AddMvc' and no extension method 'AddMvc' accepting a first 
argument of type 'IServiceCollection' could be found (are you missing a 
using directive or an assembly reference?)  

我在project.json中引用了Microsoft.AspNet.Mvc,並且無論是否在“ .cs”文件中放置“ using Microsoft.AspNet.mvc”都可以,錯誤是否仍然存在。 我以為您可以按照新的世界順序添加引用,只需將它們添加到project.json中即可。 如果project.json中存在程序集引用,為什么仍會發生此錯誤?

我的project.json:

{
  "webroot": "wwwroot",
  "version": "1.0.0-*",

  "dependencies": {

    "Microsoft.AspNet.Authentication.JwtBearer": "1.0.0-*",
    "Microsoft.AspNet.IISPlatformHandler": "1.0.0-*",
    "Microsoft.AspNet.Mvc": "6.0.0-*",
    "Microsoft.AspNet.Server.Kestrel": "1.0.0-*",
    "Microsoft.AspNet.StaticFiles": "1.0.0-*",
    "Microsoft.Framework.Logging": "1.0.0-*",
    "Microsoft.Framework.Logging.Console": "1.0.0-*",
    "Microsoft.Framework.Logging.Debug": "1.0.0-*",
    "System.IdentityModel.Tokens": "5.0.0-*",
    "MyCompany.Common": "1.0.0-*"
  },

  "commands": {
    "web": "Microsoft.AspNet.Server.Kestrel"
  },

  "frameworks": {
    "dnx451": { }
  },

  "exclude": [
    "wwwroot",
    "node_modules"
  ],
  "publishExclude": [
    "**.user",
    "**.vspscc"
  ]
}

中斷的代碼行是AddMvc之一:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNet.Builder;
using Microsoft.AspNet.Hosting;
using Microsoft.Framework.DependencyInjection;
using Microsoft.Framework.Logging;
using Microsoft.Extensions.Configuration;
using Microsoft.Dnx.Runtime;
using RamSoft.Authorization.Api.Common;
using System.IdentityModel.Tokens;
using Microsoft.AspNet.Authentication.JwtBearer;
using RamSoft.ITConsole.Common;
using Microsoft.Extensions.PlatformAbstractions;
namespace MyCompany.Authorization.Api
{
    public class Startup
    {
     ...
 public void ConfigureServices(IServiceCollection services)
        {
            services.AddInstance(_signingCredentials);
            services.AddInstance(_jwtBearerOptions);

            services.AddMvc();  // Fail.

        }
   ...
}

您需要更改對項目的依賴性。 這是我的project.json

"dependencies": {
    "Microsoft.AspNetCore.Authentication.Cookies": "1.0.0-rc2-final",
    "Microsoft.AspNetCore.Diagnostics": "1.0.0-rc2-final",
    "Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore": "1.0.0-rc2-final",
    "Microsoft.AspNetCore.Identity.EntityFrameworkCore": "1.0.0-rc2-final",
    "Microsoft.AspNetCore.Mvc": "1.0.0-rc2-final",
    "Microsoft.AspNetCore.Razor.Tools": {
      "version": "1.0.0-preview1-final",
      "type": "build"
    },
    "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0-rc2-final",
    "Microsoft.AspNetCore.Server.Kestrel": "1.0.0-rc2-final",
    "Microsoft.AspNetCore.StaticFiles": "1.0.0-rc2-final",
    "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0-rc2-final",
    "Microsoft.Extensions.Configuration.FileExtensions": "1.0.0-rc2-final",
    "Microsoft.Extensions.Configuration.Json": "1.0.0-rc2-final",
    "Microsoft.Extensions.Configuration.UserSecrets": "1.0.0-rc2-final",
    "Microsoft.Extensions.Logging": "1.0.0-rc2-final",
    "Microsoft.Extensions.Logging.Console": "1.0.0-rc2-final",
    "Microsoft.Extensions.Logging.Debug": "1.0.0-rc2-final",
    "Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0-rc2-final",
    "Microsoft.VisualStudio.Web.CodeGeneration.Tools": {
      "version": "1.0.0-preview1-final",
      "type": "build"
    },
    "Microsoft.VisualStudio.Web.CodeGenerators.Mvc": {
      "version": "1.0.0-preview1-final",
      "type": "build"
    }
  }

using Microsoft.Extensions.Configuration;添加using Microsoft.Extensions.Configuration; 在startup.cs中

我們可以使用AddMvc()至少適用於Core 1.0 rc2

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM