【问题标题】:Error after updating dnvm to 1.0.0-rc1-final更新 dnvm 到 1.0.0-rc1-final 后出错
【发布时间】:2015-11-19 12:32:32
【问题描述】:

将 dnvm 从 beta8 更新到 1.0.0-rc1-final 后,我的 Startup.cs 出现错误:

public void ConfigureServices(IServiceCollection services)
    {
        services.AddMvc(); <======= "iservicecollection does not contain a definition for add mvc(error)"
        services.AddTransient<IRepository, MongoRepository>();
    }

我的项目.json:

{
  "packExclude": "*.cmd",
  "webroot": "wwwroot",
  "version": "1.0.0-*",
  "dependencies": {
    "Kestrel": "1.0.0-*",
    "Microsoft.AspNet.Diagnostics": "1.0.0-*",
    "Microsoft.AspNet.Diagnostics.Entity": "7.0.0-*",
    "Microsoft.AspNet.Hosting": "1.0.0-*",
    "Microsoft.AspNet.Mvc": "6.0.0-*",
    "Microsoft.AspNet.Server.IIS": "1.0.0-*",
    "Microsoft.AspNet.Server.Kestrel": "1.0.0-*",
    "Microsoft.AspNet.Server.WebListener": "1.0.0-*",
    "Microsoft.AspNet.StaticFiles": "1.0.0-*",
    "Microsoft.Framework.CodeGenerators.Mvc": "1.0.0-*",
    "Microsoft.Framework.ConfigurationModel.Json": "1.0.0-*",
    "Microsoft.Framework.Logging": "1.0.0-*",
    "Microsoft.Framework.Logging.Console": "1.0.0-*",
    "Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0-*",
    "Microsoft.Net.Http": "2.2.22",
    "RestSharp": "105.2.3",
    "mongocsharpdriver": "2.1.0"
  },
  "commands": {
    "web": "Microsoft.AspNet.Hosting --server Microsoft.AspNet.Server.WebListener --server.urls http://localhost:5001",
    "kestrel": "Microsoft.AspNet.Hosting --server Microsoft.AspNet.Server.Kestrel --server.urls http://localhost:5505",
    "gen": "Microsoft.Framework.CodeGeneration",
    "ef": "EntityFramework.Commands"
  },
  "frameworks": {
    "dnx451": {
      "frameworkAssemblies": {
        "System.Drawing": "4.0.0.0",
        "System.Drawing.Design": "4.0.0.0"
      }
    }
  },

  "exclude": [
    "wwwroot",
    "node_modules",
    "bower_components"
  ],
  "bundleExclude": [
    "node_modules",
    "bower_components",
    "**.kproj",
    "**.user",
    "**.vspscc"
  ]
}

我做错了什么?谢谢。如果我只是评论行:

services.AddMvc();

我遇到了这个错误:http://clip2net.com/clip/m446898/72b2d-clip-21kb.png?nocache=1

【问题讨论】:

    标签: c# asp.net dnvm


    【解决方案1】:

    Microsoft.Framework 库现在是 Microsoft.Extensions

    例如,Microsoft.Framework.CodeGenerators.Mvc 现在是 Microsoft.Extensions.CodeGenerators.Mvc

    我希望这会有所帮助。

    【讨论】:

      【解决方案2】:

      继续并扩展 Joel 的回答:

      我刚遇到这个问题。

      在命令提示符下,我运行 dnvm upgrade 来更新我的 DNX。

      注意:确保在运行时关闭 Visual Studio。我把它打开了,在我做了下面的事情之后它就工作了。因为它,我有一个IApplicationBuilder exists in both Microsoft.AspNet.Http.Abstractions and Microsoft.AspNet.Http 错误。所以我最终重新启动了我的电脑,然后一切正常。所以也许重启你的电脑,然后执行以下操作。

      全部切换到rc1-final 版本。

      我将global.json 更改为:

      {
        "projects": [ "src" ],
        "sdk": {
          "version": "1.0.0-rc1-final"
        }
      }
      

      我的 project.json 依赖项部分如下所示:

      "dependencies": {
          "Microsoft.AspNet.Server.IIS": "1.0.0-*",
          "Microsoft.AspNet.Mvc": "6.0.0-rc1-final",
          "Microsoft.AspNet.Mvc.TagHelpers": "6.0.0-rc1-final",
          "Microsoft.Extensions.DependencyInjection": "1.0.0-rc1-final"
      },
      

      注意Microsoft.Extensions.DependencyInjection,而不是Microsoft.Framework

      右键单击“参考”并选择“恢复包”。在任何 project.json 更改后执行此操作。

      然后在我的Startup.cs 文件中,我将引用从Microsoft.Framework 更改为Microsoft.Extensions

      using Microsoft.AspNet.Builder;
      using Microsoft.Extensions.DependencyInjection;
      
      
      public class Startup
      {
      
          public void ConfigureServices(IServiceCollection services)
          {
              services.AddMvc();
          }
      
          public void Configure(IApplicationBuilder app)
          {
              app.UseMvc();
          }
      
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-02-22
        • 1970-01-01
        • 2016-07-19
        • 1970-01-01
        相关资源
        最近更新 更多