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

Erro ao executar programa

Quando executava o programa, recebia o seguinte erro:

Não foi possível carregar arquivo ou assembly 'Microsoft.Web.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' ou uma de suas dependências. O sistema não pode encontrar o arquivo especificado.

Descrição: Ocorreu uma exceção sem tratamento durante a execução da atual solicitação da Web. Examine o rastreamento de pilha para obter mais informações sobre o erro e onde foi originado no código.

Detalhes da Exceção: System.IO.FileNotFoundException: Não foi possível carregar arquivo ou assembly 'Microsoft.Web.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' ou uma de suas dependências. O sistema não pode encontrar o arquivo especificado.

Ai instalei o Microsoft.Web.Infrastructure através do Nuget e agora o programa fica carregando mas não carrega nada

Além disso, em Error list aparece: "Cannot define a class or member that utilizes 'dynamic' because de compiler required type "System.Runtime.CompileServices.DynamicAttribute " cannot be found. Are you missing a reference"?

7 respostas

Olá Matheus, espero que esteja bem. Qual a versão do .Net Framework que estas usando?

Olá,

Estou usando o 4.6.1, esse problema eu consegui resolver. Mas tenho um outro, abri outra questão no fórum mas ninguém se disponibilizou a ajudar. Posto isso, você pode me ajudar? a dúvida é a seguinte:

Na aula 6, quando eu coloco um ActionLink em produto.Nome para buscar, por id, as informações do produto, obtenho a seguinte exception: System.ArgumentException: 'Value cannot be null or empty. Parameter name: linkText' em

@Html.ActionLink(produto.Nome, "Visualiza", new { id = produto.Id }) o que faço para resolver??

Agradeço desde já

Olá Matheus, tudo bem?

Desculpa a demora em responder, não tinha visto a sua mensagem. Caso não tenha conseguido resolver o problema ainda, o erro ocorre devido a um parâmetro nulo, pode ser algum produto que está sem alguma informação, bem provavel o Id ou Nome, já que são as duas propriedades de produto que você está usando.

Se possível, cola o HTML que está usando, que assim fica mais fácil de tentar identificar o problema

Olá,

Segue o meu código: @model IList<CaelumEstoque.Models.Produto>

@{ Layout = null; }

IDNOME DO PRODUTOPRECO
@foreach (var produto in Model) {
@produto.Id @Html.RouteLink(produto.Nome, "VisualizaProduto", new { id = produto.Id }) @produto.Preco
}

Agradeço desde já a ajuda

No controller de Produto, está retornando o produtos no ViewBag() ? Por que pra estar retornando o erro System.ArgumentException: 'Value cannot be null or empty. Parameter name: linkText', é por que não existe valor quando esta fazendo o foreach, provavelmente.

O meu ProdutoController está desse jeito

    [Route("produtos/{id}", Name = "VisualizaProduto")]
    public ActionResult Visualiza(int id)
    {
        ProdutosDAO dao = new ProdutosDAO();
        Produto produto = dao.BuscaPorId(id);
        ViewBag.Produto = produto;
        return View();
    }
solução!

Ok Matheus, chegamos ao problema. Pra você poder utilziar o action link da forma como está, é necessário passar por parâmetro a lista de produtos, nesse casso basta alterar o seu código para ficar da seguinte forma:

public ActionResult Visualiza(int id)
{
    ProdutosDAO dao = new ProdutosDAO();
    Produto produto = dao.BuscaPorId(id);
    ViewBag.Produto = produto;
    return View(produto);
}

Pode dar uma olhada em como fica o código no final e compara com o seu para entender os problemas:

https://cursos.alura.com.br/course/desenvolvimento-web-asp-net-mvc-5/task/4674