1
resposta

Erros MSB3037 e MSB3021 na compilação e não visualização de lista de livros

Ao tentar compilar o código, estou tomando os erros MSB3037 e MSB3021 e além disso, meu navegador não está atualizando para a visualização da lista de livros, ainda continua o Olá Mundo:

MSB3037 - não foi possível copiar "obj\Debug\netcoreapp2.1\web.dll" para "bin\Debug\netcoreapp2.1\web.dll". Número de novas tentativas 10 excedido. Falha. O arquivo é bloqueado por: ".NET Core Host (18464)"

MSB3021 - Não é possível copiar o arquivo "obj\Debug\netcoreapp2.1\web.dll" para "bin\Debug\netcoreapp2.1\web.dll". O processo não pode acessar o arquivo 'bin\Debug\netcoreapp2.1\web.dll' porque ele está sendo usado por outro processo.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.DependencyInjection;

namespace web
{
    public class Startup
    {
        // This method gets called by the runtime. Use this method to add services to the container.
        // For more information on how to configure your application, visit https://go.microsoft.com/fwlink/?LinkID=398940
        public void ConfigureServices(IServiceCollection services)
        {
        }

        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IHostingEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }

            var livros = new List<Livro>();
            livros.Add(new Livro("001", "Quem mexeu na minha query?", 12.99m));
            livros.Add(new Livro("002", "Como ficar rico com C#", 30.99m));
            livros.Add(new Livro("003", "Java para Baixinhos", 25.99m));

            app.Run(async (context) =>
            {
                foreach (var livro in livros)
                {
                    await context.Response.WriteAsync($"{livro.Codigo}{livro.Nome}{livro.Preco}\r\n");
                }

            });
        }
    }
}
1 resposta

Olá Julia, como vai?

Sentimos muito pela demora em te retornar.

Esses erros (MSB3037 - MSB3021) são bem genéricos, é extremamente complicado de entender o que está se passando com o código por eles. Mas pelo que entendi, mesmo com esses avisos é possível executar o programa, certo? Se sim, acredito que são apensas avisos.

Agora para o problema de não "atualizar" a página com as novas informações. Acredito que você esteja rodando o programa com ele já executado (inclusive, acredito que isso seja um dos motivos dos avisos MSB3037 - MSB3021). Fiz o teste com seu código e ele está correto.

Se já resolveu o problema, e caso se sinta confortável em compartilhar a resolução iremos ficar agradecidos, tenho certeza que ajudará outros alunos.

Um abraço e bons estudos!