Solucionado (ver solução)
Solucionado
(ver solução)
6
respostas

Duvidas na configuração Startup

Boa Noite ! Conforme a orientação do instrutor na aula 06 instalei os pacotes do Sql Server com sucesso, mais na hora de configura o STARTUP acrescentei o metado ;

(options => options.UseSqlServer(connectionString));

. Mais o visual studio não reconhece esse metado (UseSqlServer) o instrutor informa para acrescentar a referencia (using Microsoft.EntityFrameworkCore;) para visual studio reconhecer o metado, mais mesmo acrescentando a referencia o metado ainda não foi reconhecido., o visual studio continua reclamando, detalhe estou utilizando SqlServer 2017. Aguardo uma solução !

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;

namespace CasaDoCodigo
{
    public class Startup
    {
        public Startup(IHostingEnvironment env)
        {
            var builder = new ConfigurationBuilder()
                .SetBasePath(env.ContentRootPath)
                .AddJsonFile("appsettings.json", optional: false, 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)
        {
            // Add framework services.
            services.AddMvc();
            string connectionString= @"Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=CasaDoCodigo;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=True;ApplicationIntent=ReadWrite;MultiSubnetFailover=False";

            services.AddDbContext<Contexto>(options => options.UseSqlServer(connectionString)); // METADO NÃO RECONHECIDO : USESQLSERVER
        }

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

            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
                app.UseBrowserLink();
            }
            else
            {
                app.UseExceptionHandler("/Home/Error");
            }

            app.UseStaticFiles();

            app.UseMvc(routes =>
            {
                routes.MapRoute(
                    name: "default",
                    template: "{controller=Pedido}/{action=Carrossel}/{id?}");
            });
        }
    }
}
6 respostas

Olá, Rodrigo

Pode postar aqui no fórum o detalhe do erro que aparece pra você, pra gente analisar melhor? Obrigado!

Marcelo desculpa-me pela expressão não é questão de erro o visual studio reclama que não reconhece o métado: (options => options.UseSqlServer(connectionString)); Voce orientar na aula para acrescentar a referencia [using Microsoft.EntityFrameworkCore;] para o metado ser reconhecido, acrescentei a referencia conforme a sua orientação mais mesmo assim ainda o metado não foi reconhecido pelo VB , no meu caso. Quando passo a seta encima do metado aparece na tela essa msg de erro:

Error CS 1705: Gravidade Código Descrição Projeto Arquivo Linha Estado de Supressão Erro CS1705 Assembly "Microsoft.EntityFrameworkCore.SqlServer" com identidade "Microsoft.EntityFrameworkCore.SqlServer, Version=1.1.1.0, Culture=neutral, PublicKeyToken=adb9793829ddae60" usa "Microsoft.EntityFrameworkCore, Version=1.1.1.0, Culture=neutral, PublicKeyToken=adb9793829ddae60" que tem uma versão mais recente do que o assembly referenciado "Microsoft.EntityFrameworkCore" com identidade "Microsoft.EntityFrameworkCore, Version=1.1.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60" CasaDoCodigo C:\Users\rodri\source\repos\CasaDoCodigo\CasaDoCodigo\Startup.cs 34 Ativo

insira seu código aqui

using CasaDoCodigo.Models; using Microsoft.EntityFrameworkCore; using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks;

namespace CasaDoCodigo { public class Contexto : DbContext { public DbSet Produtos { get; set; } public DbSet ItensPedido { get; set; }

} }

Instrutores, Boa tarde !

Gostaria do auxilio de vocês conforme já relatado, ainda não obtive resposta para a solução, estou com o projeto totalmente parado por conta disso, necessito da solução para a continuidade do curso. Estou aguardando. Grato !

solução!

Oi Rodrigo

Existe um conflito de versões entre os pacotes Microsoft.EntityFrameworkCore e Microsoft.EntityFrameworkCore.SqlServer do seu projeto.

Por favor, siga esses passos:

  • Abra o Visual Studio 2017, abra a solução e selecione o projeto web como Default Project
  • Entre em Tools > Nuget Package Manager > Package Manager Console
  • Digite no console:

update-package Microsoft.EntityFrameworkCore -version 1.1.1.0

  • Rode a aplicação e veja se o problema foi resolvido.

Marcelo, funcionou. Agradeço !

Excelente, Rodrigo! E obrigado por participar do fórum!