Не удалось загрузить тип «Microsoft.Extensions.DependencyInjection.ServiceCollectionExtensions» при переносе приложения

c# asp.net-mvc entity-framework asp.net-web-api ef-migrations

1739 просмотра

2 ответа

800 Репутация автора

Я использую VS Code для разработки веб-API .Net Core RTM. Пока я запускаю команду dotnet ef migrations add "myfirstMigraion"для миграции, получаю ошибку, которая прикреплена как на изображении ниже. : - введите описание изображения здесь Мой файл project.json выглядит так: -

{
  "dependencies": {
    "Microsoft.NETCore.App": {
      "version": "1.0.0",
      "type": "platform"
    },
    "Microsoft.EntityFrameworkCore.Design": {
      "type": "build",
      "version": "1.0.0-preview2-final"
    },
    "Microsoft.AspNetCore.Mvc": "1.0.0",
    "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0",
    "Microsoft.AspNetCore.Server.Kestrel": "1.0.0",
    "Microsoft.Extensions.DependencyInjection.Abstractions":"1.0.0",
    "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0",
    "Microsoft.Extensions.Configuration.FileExtensions": "1.0.0",
    "Microsoft.Extensions.Configuration.Json": "1.0.0",
    "Microsoft.Extensions.Configuration.CommandLine": "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.Options.ConfigurationExtensions": "1.0.0",
    "Microsoft.EntityFrameworkCore": "1.0.0-*",
    "Microsoft.EntityFrameworkCore.SqlServer": "1.0.0-rc2-final",
    "Microsoft.EntityFrameworkCore.InMemory": "1.0.0-rc2-final",
    // "Microsoft.EntityFrameworkCore.Tools":"1.0.0-preview2-final",
    "Microsoft.EntityFrameworkCore.SqlServer.Design": "1.0.0-rc2-final"
  },
  "tools": {
    "Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.0.0-preview2-final",
    "Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview2-final"
  },
  "frameworks": {
    "netcoreapp1.0": {
      "imports": [
        "dotnet5.6",
        "portable-net45+win8"
      ]
    }
  },
  "buildOptions": {
    "emitEntryPoint": true,
    "preserveCompilationContext": true,
    "debugType": "portable"
  },
  "runtimeOptions": {
    "configProperties": {
      "System.GC.Server": true
    }
  },
  "publishOptions": {
    "include": [
      "wwwroot",
      "Views",
      "Areas/**/Views",
      "appsettings.json",
      "web.config"
    ]
  },
  "scripts": {
    "postpublish": [
      "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%"
    ]
  },
  "tooling": {
    "defaultNamespace": "firstCoreApi"
  }
}

И выглядит как мой Startup.cs: -

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using firstCoreApi.Model;
namespace firstCoreApi
{
    public class Startup
    {
        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();
        }

        public IConfigurationRoot Configuration { get; }

        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            var connection = @"Server=myPcName\SQLEXPRESS; Database=StudentsDB;user id=MysqlUserId;password=Mysqlpassword;Trusted_Connection=True;MultipleActiveResultSets=true";
            //Server=SQLSERVERNAME;Database=StudentsDB;user id=sa;password=sa1;Trusted_Connection=True;MultipleActiveResultSets=true;
            // Add framework services.
            services.AddMvc();
            //  services.AddDbContext<TodoListDbContext>(options => options.UseInMemoryDatabase());
            services.AddDbContext<BloggingContext>(options => options.UseSqlServer(connection));
        }

        // 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.UseMvc();
        }
    }
}

Я использую операционную систему Windows 10 с SQL Server 2014. Мне нужна ваша помощь, люди, как это исправить.

Автор: KP Chundawat Источник Размещён: 18.07.2016 07:42

Ответы (2)


0 плюса

16 Репутация автора

Решение

У меня тоже появилось то же исключение, я просто «Microsoft.AspNetCore.Routing»: «1.0.0-rc2-final» изменил на «Microsoft.AspNetCore.Routing»: «1.0.0». Это работа

Я думаю, что если вы используете VSCODE, вы можете попробовать внести изменения в project.json

"Microsoft.EntityFrameworkCore": "1.0.0",
"Microsoft.EntityFrameworkCore.SqlServer": "1.0.0",
"Microsoft.EntityFrameworkCore.InMemory": "1.0.0",
"Microsoft.EntityFrameworkCore.SqlServer.Design": "1.0.0"
Автор: Asnull Размещён: 27.07.2016 10:10

0 плюса

953 Репутация автора

Я столкнулся с той же проблемой. Установите пакет из командной строки. Сайт для справки: https://www.nuget.org/packages/Kendo.Mvc/2016.2.630-Preview

Команда для использования в менеджере пакетов: Install-Package Kendo.Mvc -Pre

Пакет, который NuGet возвращает из поисков, является последним стабильным пакетом, который содержит ошибку, lol! Именно поэтому вам необходимо установить из командной строки в диспетчере пакетов.

Telerik знает о проблеме: https://github.com/telerik/kendo-ui-core/issues/1856

Автор: Jeremy Ray Brown Размещён: 27.12.2016 09:02
Вопросы из категории :
32x32