2015-11-19 2 views
1

После обновления DNVM от beta8 к 1.0.0-rc1-final у меня была ошибка в моем Startup.cs:Ошибка после обновления DNVM до 1.0.0-rc1-окончательной

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

мой project.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

ответ

2

В Microsoft.Framework в настоящее время библиотеки Microsoft.Extensions.

Например, Microsoft.Framework.CodeGenerators.Mvc теперь Microsoft.Extensions.CodeGenerators.Mvc

Я надеюсь, что это помогает.

0

После включения и расширения немного на ответ Иоиля:

Я просто имел этот вопрос.

В командной строке я запустил dnvm upgrade для обновления моего DNX.

ПРИМЕЧАНИЕ: Убедитесь, что визуальная студия закрыта, когда вы ее запускаете. У меня было это открыто, и это было бы не Работа после того, как я сделал следующее. Из-за этого у меня была ошибка 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(); 
    } 

} 
Смежные вопросы