André Alves de Lima

Talking about Software Development and more…

Como utilizar o Report Viewer no Visual Studio 2017?

Você está tentando utilizar o Report Viewer no Visual Studio 2017 e não está conseguindo? Já ativou o SQL Server Data Tools na instalação do Visual Studio e mesmo assim nada do Report Viewer aparecer? E agora, será que a Microsoft realmente descontinuou o Report Viewer?

Não se assuste, felizmente o Report Viewer ainda não foi descontinuado. O que acontece é que a Microsoft está mudando o modelo de distribuição do Report Viewer a partir do Visual Studio 2017. Eu até já falei sobre isso nesse outro artigo. A novidade é que a experiência de design de relatórios para o Visual Studio 2017 ficou pronta. Vamos ver como ficou o resultado?

Versão em vídeo

Esse assunto está quentíssimo, então eu resolvi gravar também esse tutorial em formato vídeo, que você confere abaixo:

O novo modelo de distribuição do Report Viewer

Mais uma vez a Microsoft alterou o modelo de distribuição do Report Viewer com o Visual Studio. Até o Visual Studio 2013 ele era instalado junto com a instalação típica do Visual Studio. Depois, a partir do Visual Studio 2015, nós precisávamos habilitar o SQL Server Data Tools na hora da instalação. Agora, com o Visual Studio 2017, ele foi totalmente removido da instalação do Visual Studio.

Eu já expliquei em detalhes o novo modelo de distribuição do Report Viewer no Visual Studio 2017 e os motivos da Microsoft ter feito essa alteração nesse outro artigo, mas, resumindo mais uma vez: a experiência de design dos relatórios será ativada através de uma extensão do Visual Studio (essa é a novidade do artigo de hoje) e o controle em si será distribuído através do NuGet.

Desenhando relatórios do Report Viewer no Visual Studio 2017

A grande novidade do artigo de hoje é que a extensão utilizada para ativarmos a experiência de design de relatórios do Report Viewer no Visual Studio 2017 ficou pronta. Com o Visual Studio 2017 instalado, se tentarmos adicionar um novo item dentro de um projeto, nós não encontraremos a categoria “Report” e tampouco encontraremos o item correspondente ao Report Viewer se fizermos uma pesquisa nos templates instalados:

E como é que podemos instalar a extensão que adiciona o Report Viewer? Simples! Uma opção é baixa-la diretamente no Visual Studio Marketplace, procurando pelo nome “Microsoft Rdlc Report Designer for Visual Studio“. A outra opção é abrirmos a janela de “Extensions and Updates” no Visual Studio:

Aí clicamos na categoria “Online“, procuramos por “rdlc” e instalamos o item “Microsoft Rdlc Report Designer for Visual Studio“:

Independente da opção que você escolher, a instalação será agendada para ser executada uma vez que todas as instâncias do Visual Studio sejam fechadas. Ao fechar todas as instâncias, essa janela será exibida:

A única coisa que temos que fazer nesse ponto é clicar em “Modify” e seguir as instruções do instalador. Uma vez concluída a instalação, se abrirmos o nosso projeto novamente e tentarmos adicionar um novo item, nós encontraremos os itens “Report” e “Report Wizard” dentro da categoria “Visual C# Items” (ou “Visual Basic Items“):

Nota: uma coisa que eu não gostei é que esses itens não foram organizados dentro de uma categoria separada. No Visual Studio 2015 eles eram separados na categoria “Reporting”. Mas, essa é somente a primeira versão. Quem sabe a Microsoft não melhora isso mais para frente.

Se você adicionar um novo item do tipo “Report” no seu projeto, você conseguirá desenhar os seus relatórios normalmente, da mesma forma que você conseguia fazer com o Visual Studio 2015. Aparentemente, o designer continua idêntico ao designer do Visual Studio 2015 (pelo menos essa foi a minha primeira impressão).

Controle do Report Viewer em projetos Windows Forms

No Visual Studio 2015, se quiséssemos adicionar o controle do Report Viewer nos nossos projetos, bastava arrastarmos o controle da caixa de ferramentas para dentro do formulário e pronto, missão cumprida! Porém, a partir do Visual Studio 2017, você não conseguirá encontrar o controle do Report Viewer na caixa de ferramentas. Isso acontece porque ele será distribuído via NuGet.

Dito isso, a primeira coisa que temos que fazer é adicionarmos a referência no nosso projeto. Para isso, abrimos a tela do NuGet, procuramos por “reportviewercontrol” e instalamos o item correspondente:

Em seguida, nós podemos adicionar um novo item na caixa de ferramentas apontando para a dll do Report Viewer que acabou de ser baixada. Fazemos isso clicando com o botão direito na área vazia da caixa de ferramentas e escolhendo a opção “Choose Items“:

Na janela “Choose Toolbox Items“, clicamos no botão “Browse“, navegamos até a pasta “packages” onde o Report Viewer foi baixado no nosso projeto e escolhemos o arquivo “Microsoft.ReportViewer.WinForms.dll“:

Feito isso, basta ativarmos o item “ReportViewer” e clicarmos em “OK” para que o controle do Report Viewer seja adicionado na nossa caixa de ferramentas.

A partir daqui a experiência continua como no Visual Studio 2015: basta arrastarmos o controle para dentro do nosso formulário e customizá-lo conforme precisarmos.

E no Web Forms?

O esquema para utilizarmos o novo controle do Report Viewer no Web Forms segue a mesma linha do Windows Forms. Precisamos adicionar o pacote do NuGet, só que dessa vez temos que prestar atenção para adicionarmos o pacote correto, referente do Web Forms:

Uma vez adicionada a referência, uma página web será aberta com um pequeno tutorial mostrando como adicionar o controle do Report Viewer no seu web form:

Você consegue acessar essa página diretamente no GitHub do Reporting Services, através deste link.

Em resumo, primeiramente você precisa adicionar uma referência à dll do Report Viewer no cabeçalho do seu web form:

<%@ Register assembly="Microsoft.ReportViewer.WebForms, Version=14.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" namespace="Microsoft.Reporting.WebForms" tagprefix="rsweb" %>

Em seguida, fazemos exatamente como estamos acostumados com a versão anterior do Report Viewer. Ou seja, adicionamos um ScriptManager e um controle do Report Viewer logo em seguida:

        <div>
            <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
            <rsweb:ReportViewer ID="ReportViewer1" runat="server" SizeToReportContent="True" />
        </div>

Por fim, no code-behind do web form, nós carregamos o relatório:

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                ReportViewer1.LocalReport.ReportPath = Server.MapPath("~/Report1.rdlc");
                ReportViewer1.LocalReport.Refresh();
            }
        }

O destaque aqui fica para o novo controle desenvolvido pelo time do Reporting Services, escrito totalmente em HTML5:

E no MVC?

Não existe suporte nativo ao Report Viewer no MVC. Dito isso, uma opção que nós temos para contornar essa limitação é adicionarmos um web form no nosso projeto MVC e trabalharmos como se estivéssemos em um projeto Web Forms puro.

Obviamente essa opção não é das melhores, uma vez que perdemos toda a separação de camadas que temos no MVC, com models, views e controllers. Foi pensando nisso que algumas pessoas já desenvolveram bibliotecas que implementam uma certa gambiarra por trás dos panos que possibilita a utilização do Report Viewer no estilo de desenvolvimento do MVC.

A biblioteca que eu costumo utilizar para exibir relatórios do Report Viewer no MVC é a “ReportViewer for MVC“. Se você se interessar por esse assunto, eu já expliquei como utilizá-la neste outro artigo. O problema é que essa biblioteca não tem sido mais atualizada e, por consequência, muito provavelmente não será atualizada para a versão mais nova do Report Viewer.

O meu plano é copiar essa biblioteca para o GitHub e atualizá-la para que ela aponte para essa versão mais nova do Report Viewer. Com isso eu vou conseguir também corrigir uns bugs dessa biblioteca relacionados ao carregamento de sub-relatórios (que você pode encontrar mais informações aqui).

Assim que eu conseguir fazer isso, eu volto aqui e edito esse post com mais informações.

E no .NET Core?

Até o momento, a Microsoft ainda não se pronunciou sobre uma possível implementação do Report Viewer que seja compatível com o .NET Core. Se você tentar adicionar a referência do Report Viewer via NuGet em um projeto .NET Core, você receberá um erro:

Porém, temos várias pessoas da comunidade discutindo sobre esse assunto nessa issue no GitHub do ASP.NET. Vale a pena acompanhar essa issue para ficar por dentro das novidades.

Concluindo

Com o lançamento de cada edição nova do Visual Studio surge aquela dúvida cruel para desenvolvedores de relatórios: será que a Microsoft descontinuou o Report Viewer? Para a nossa sorte, esse dia ainda não chegou.

Apesar do susto que tivemos com o Report Viewer não aparecendo no Visual Studio 2017 ao tentarmos adicioná-lo seguindo os mesmos passos do Visual Studio 2015, não precisamos ficar preocupados. O que aconteceu é que a Microsoft mudou completamente o modelo de distribuição do Report Viewer a partir do Visual Studio 2017, disponibilizando a experiência de design por meio de uma extensão e o controle através do NuGet.

No artigo de hoje você aprendeu todos os passos necessários para desenhar relatórios do Report Viewer no Visual Studio 2017, bem como a utilização do seu novo controle em projetos Windows Forms e Web Forms, além de uma visão da utilização no ASP.NET MVC e .NET Core.

Agora é seguir essas instruções e continuar desenvolvendo os nossos relatórios para satisfazer os nossos clientes. Aproveita e dá uma olhada na categoria do Report Viewer aqui do site para encontrar diversos outros tutoriais sobre essa ferramenta!

Por fim, convido você a inscrever-se na minha newsletter. Ao fazer isso, você receberá um e-mail toda semana sobre o artigo publicado e ficará sabendo também em primeira mão sobre o artigo da próxima semana, além de receber dicas “bônus” que eu só compartilho por e-mail. Inscreva-se utilizando o formulário logo abaixo.

Até a próxima!

André Lima

Newsletter do André Lima

* indicates required



Powered by MailChimp

45 thoughts on “Como utilizar o Report Viewer no Visual Studio 2017?

  • Lucas Juliano disse:

    Muito bacana André,

    Legal que agora você vem demonstrando para os seus assinantes outras alternativas, seja desktop,web/WebForms/Mvc/.core.

    Abraço Lucas !

    • andrealveslima disse:

      Valeu Lucas!

      Pois é.. Estou tentando variar um pouco.. Nos próximos meses quero começar algo com Xamarin também..

      Abraço!
      André Lima

  • Frederico disse:

    Olá André excelente artigo e muito bacana!

    Na versão 2015 eu disponibilizava apenas 4 ou 5 arquivos para rodar o Report Viewer na máquina do cliente. Com essa nova versão aparece um monte de pastas e também diversos arquivos. Tenho de fornecer todas as Dll’s que aparecem na pasta BIN do projeto?

    Obrigado mais uma vez pelos excelentes artigos publicados.

    • andrealveslima disse:

      Olá Frederico, muito obrigado pelo comentário!

      Então.. Os arquivos que vêm a mais são os com extensão “.resources.dll”, que a princício você não precisa distribuir com a aplicação (eu ainda não testei para te dizer com certeza, mas acredito que não precise).. Os outros arquivos continuam os mesmos:

      – Microsoft.ReportViewer.WinForms
      – Microsoft.ReportViewer.Common
      – Microsoft.ReportViewer.DataVisualization
      – Microsoft.ReportViewer.ProcessingObjectModel

      Além desses, tem o Microsoft.ReportViewer.Design, que em teoria você não precisa no computador do cliente.. E as pastas você só precisa distribuir se quiser traduzir o controle para um idioma específico (aí você definitivamente vai precisar dos arquivos “.resources” também, além da pasta correspondente ao idioma que você quer suportar)..

      Ou seja, quanto à distribuição, tudo continua teoricamente como na versão 2015.. Assim que eu fizer os primeiros testes de deployment aqui eu volto aqui para avisar.. Se você conseguir testar antes, avisa aqui também, por favor..

      Abraço!
      André Lima

      • Frederico disse:

        Olá André mais uma vez muito obrigado pela atenção dispensada.

        Ontem mesmo fiz um teste e não mudou nada em relação a versão 2015. Os arquivos continuam sendo os mesmos. Como você mesmo disse, eu fiz um teste copiando os arquivos com a extensão “.resources.dll” e a tradução muda conforme o idioma que selecionamos.

        Como sempre um excelente artigo. Meus parabéns!

        • andrealveslima disse:

          Olá Frederico!

          Sensacional! Muito obrigado por ter testado e reportado aqui os resultados.. Bom saber que o processo de deployment não mudou com relação à versão anterior.. :)

          Abraço!
          André Lima

  • […] mudou todo o esquema de distribuição do Report Viewer. Eu publiquei um artigo / vídeo mostrando como ativar o Report Viewer no Visual Studio 2017. Clique no link para conferir o artigo. E aqui vai o […]

  • Andre Parabéns pelo Artigo, eu conseguir instalar normalmente, fazer o relatório de teste. Agora no momento de colocar o componente na barra (choose items) meu visual studio 2017 apresentou problemas. E todo tempo para de funcionar dando um bug e reiniciando não permitindo eu adicionar o report viewer na barra de ferramentas. MEU PREJETO É WEBFORMS.

    • andrealveslima disse:

      Olá Claudionor, obrigado pelo comentário!

      Que estranho hein.. Você está utilizando a versão final do Visual Studio 2017 (e não a RC), certo? Não tem nenhum update pendente para ser instalado no seu Visual Studio? Você instalou a versão WebForms no Report Viewer no seu projeto, correto? O projeto era um projeto em branco ou um projeto antigo seu? Caso seja um projeto antigo, você já estava utilizando uma versão anterior do Report Viewer nesse projeto?

      Abraço!
      André Lima

  • Alexander Bathory disse:

    André, boa noite.

    Parabéns e obrigado pelo Artigo, nos ajuda muito.

    Pergunta, eu utilizo meus projetos de Report como Server, ou seja, todos em RDL. Quando abro o projeto está aparecendo com incompatível.

    Pergunta, é somente para RDLC ou server para RDL? Saberia o que está acontecendo?

    Obrigado, abraços

    Alex

    • andrealveslima disse:

      Olá Alexander!

      Teoricamente deveria funcionar com relatórios server side do Reporting Services também.. Seu projeto é desktop ou web? Você poderia mandar um screenshot mostrando mais detalhes sobre o erro? Se quiser mandar no meu e-mail, fique à vontade: contato [arroba] andrealveslima [ponto] com [ponto] br

      Abraço!
      André Lima

      • Alexander Bathory disse:

        Olá André,

        Realmente essa opção é só para Rdlc. Pesquisando um pouco descobri que temos outra opção no “Extensions and Updates”, digitando “Microsoft Report Projects for Visual Studio”… nessa consegui utilizar meus projetos com Rdl.

        Fica a Dica, muito obrigado pela ajuda.

        Sua iniciativa do Blog é Fantástica, nos ajuda muito.

        Abração

        Alexander

        • andrealveslima disse:

          Olá Alexander!

          Que bom que você conseguiu encontrar a extensão correta para o Reporting Services.. Não sabia que eram extensões diferentes.. Valeu pela dica e muito obrigado por acompanhar as publicações.. :)

          Um forte abraço!
          André Lima

    • andrealveslima disse:

      Olá William!

      Muito obrigado por compartilhar esse link para as ferramentas de design do Analysis Services e Reporting Services.. Para quem trabalha com relatórios server side, essa é a extensão que deve ser instalada.. Não sabia que a Microsoft tinha separado as ferramentas de relatórios server side das de relatórios locais.. Valeu pela dica..

      Abraço!
      André Lima

  • André disse:

    Bom dia André. Como eu coloco um código de barra nativo no Report Viewer? Não achei nenhum ferramente nativa como um textbox por exemplo.

    Obrigado, abraços.

  • Antonio Pretto disse:

    This was the only resource I found on Google about it. Thank you!

    (I’m italian so spanish is fine:) )

  • Thony disse:

    Gracias!!! genial tu aporte, completo me ayudo bastante.

  • Fagner Menezes disse:

    André boa tarde gostaria de saber como faço pra que o cabeçalho seja impresso apenas na primeira pagina e o rodapé na ultima.

    • andrealveslima disse:

      Olá Fagner!

      Infelizmente não existe uma propriedade “Hidden” para o cabeçalho e rodapé das páginas do Report Viewer.. O jeito de fazer isso que você está querendo seria colocar todo o conteúdo do cabeçalho e do rodapé em um Rectangle e aí você configura a propriedade Hidden do Rectangle para esconder o cabeçalho caso não esteja na primeira página.. A expressão para o Rectangle do cabeçalho seria algo como:

      =IIf(Globals!PageNumber = 1, FALSE, TRUE)
      

      E para o rodapé seria ao contrário (esconde quando PageNumber <> 1)..

      Entendeu a ideia?

      Abraço!
      André Lima

  • ERON disse:

    : Oi, Estou com um erro NO REPORT VIEWER quando levo o sistema para rodar no computador do cliente.
    Fiz o sistema usando o windows 10 e o Visual Studio Community 2017. Meu cliente usa o Window 7 2009 e o erro que está me dando é na hora de visualizar os relatórios… veja abaixo:

    “ocorreu um erro durante o processamento de relatórios local.
    The definition of the report ” is invalid”
    An unexprected erro occurrend in Report Processing
    Não foi possivel carregar arquivo ou assembly ‘Microsoft.SqlServe.Types, Version=12.0.0.0. Culture=neutral,PublicKey Token=89845dcd9090cc91’ou uma de suas dependencias.
    O sistema não póde encontrar o arquivo especificado.”

    Poderia me ajudar?? Já finalizei o programa mais ficou com esse erro….

    Agradeço e fico no aguardo do seu retorno.

    Abraços

    Eron

    • andrealveslima disse:

      Olá Eron!

      Você precisa distribuir o Report Viewer no computador do seu cliente.. Para isso, você tem algumas opções.. Uma delas é instalar o redistributable do Report Viewer.. Ou você copia somente as dlls do Report Viewer junto com a sua aplicação..

      Eu mostrei todas as opções de distribuição de aplicações que utilizam o Report Viewer neste artigo, veja só:

      Como distribuir aplicações com o Report Viewer?

      Abraço!
      André Lima

  • ERON disse:

    Oi, Muito obrigado pela sua atenção, não estava conseguindo resolver esse problema.
    Abraços.

    Sucesso ao seu canal.

  • Nuno Rato disse:

    Oi André,
    Migrei recentemente para o Visual Studio 2017, mas tenho um problema com os reports que desenvolvi em Visual Studio 2010.
    Os antigos reports têm:
    “http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition”
    e os novos têm
    “http://schemas.microsoft.com/sqlserver/reporting/2016/01/reportdefinition”
    Há algum jeito de resolver esta situação sem ter que alterar todos os reports?
    Obrigado.

    • andrealveslima disse:

      Olá Nuno, obrigado pelo comentário!

      Teoricamente, os relatórios antigos deveriam rodar sem problema no controle novo, mesmo tendo o schema da versão 2008.. Você tentou rodar e recebeu um erro? Se sim, qual foi o erro? Poderia me mandar um exemplo de relatório desenvolvido no VS 2010 para eu dar uma olhada? Meu e-mail é o contato [arroba] andrealveslima [ponto] com [ponto] br

      Abraço!
      André Lima

  • Gemisson Carvalho disse:

    “ocorreu um erro durante o processamento de relatórios local.
    The definition of the report ” is invalid”
    An unexprected erro occurrend in Report Processing
    Não foi possivel carregar arquivo ou assembly ‘Microsoft.SqlServe.Types, Version=14.0.0.0. Culture=neutral,PublicKey Token=89845dcd9090cc91’ou uma de suas dependencias.
    O sistema não póde encontrar o arquivo especificado.”

    OBS: na mina maquina uso win 10 e visual studio comunity 2017 segue todos os passos descritos no seu vídeo dai quando vai para parte de instalação estava dando um erro na versão do Framework da qual mudei para a versão 4.6 conseguindo instalar então.

    já fiz também os passos descritos no seu outro tutorial abaixo e nada.

    Como distribuir aplicações com o Report Viewer

    me ajude pfv!

    • andrealveslima disse:

      Olá Gemisson!

      Esse erro acontece quando a versão do Report Viewer não bate com a que foi utilizada na hora de desenvolver os relatórios.. Como você está utilizando o VS 2017, você precisa obrigatoriamente utilizar os componentes que são distribuídos via NuGet (como expliquei no artigo / vídeo).. Tente remover todas as referências relacionadas com o Report Viewer (inclusive o Microsoft.SqlServer.Types) e instale de novo o pacote pelo NuGet para ver se funciona..

      Abraço!
      André Lima

      • Gemisson Carvalho disse:

        Obrigado pela dica, Irei testar.
        Seus posts são uma ferramenta excepcional para nossos aperfeiçoamentos, obrigado!

        • andrealveslima disse:

          Olá Gemisson! Muito obrigado, fico feliz por conseguir ajudar com as publicações.. Qualquer coisa é só entrar em contato novamente..

          Abraço!
          André Lima

  • Airton Barros disse:

    Passo a passo perfeitos!
    Deu certo no meu, também.
    Agradecido.
    Airton Barros

    • andrealveslima disse:

      Olá Airton, muito obrigado pelo comentário! Que bom que deu certo no seu ambiente a instalação também.. :)

      Abraço!
      André Lima

  • Vanderley Maia Gomes disse:

    Olá!
    Fiz todo o passo a passo, mas acredito que estou com algum problema, não encontro o dll do reportviwer, qual seria outra forma de gerar relatórios dentro do visual studio 2017? (se por acaso o report viewer for descontinuado)…

    Valew!

    • andrealveslima disse:

      Olá Vanderley!

      Como assim não encontra a dll do Report Viewer? Você poderia ser mais específico? Em qual passo exatamente você não conseguiu encontrar? Você seguiu o vídeo e exatamente em qual minuto você notou alguma diferença no seu ambiente?

      Com o Report Viewer essa é a única maneira de desenvolver relatórios no Visual Studio 2017.. O Crystal Reports também é gratuito, mas ainda não implementou suporte à versão 2017..

      Abraço!
      André Lima

  • Ricardo David disse:

    Eu instalei o “Microsoft Rdlc Report Designer for Visual Studio“ mas mesmo assim não aparece quando tento add novo item.
    os itens “Visual C# Items” (ou “Visual Basic Items“)não aparecem no meu visual studio 2017 enterprise.
    Qual a solução?

    • andrealveslima disse:

      Olá Ricardo!

      Você viu exatamente os passos que eu segui para chegar na tela de adição de itens no projeto? Você tem que estar com um projeto Desktop (Windows Forms / WPF) ou web (ASP.NET full), aí você clica com o botão direito no projeto, seleciona Add New Item e o item do Report Viewer deve aparecer..

      Se mesmo assim não estiver funcionando, me fala qual é o tipo do seu projeto e manda um Screenshot da tela em que o Report Viewer não está aparecendo..

      Abraço!
      André Lima

  • Juliano Kurschbauer disse:

    Olá André,

    Sou um grande admirador de seus trabalhos, parabéns por compartilhar o seu conhecimento.

    Recentemente troquei de versão do VS 2015 para 2017, porem não estou conseguindo abrir o ReportViewer na máquina do cliente, aparece uma mensagem de erro onde não foi possível carregar o arquivo ou assembly, na versão 2015 eu instalei o Microsoft Report Viewer 2015 Runtime no computador do cliente, porem nesta nova versão não encontrei, existe outra maneira de abrir os relatório no cliente sem ter que registrar as Dlls?

    Abraço

    • andrealveslima disse:

      Olá Juliano, muito obrigado pelo comentário!

      Desculpe a demora em responder a sua mensagem.. É que estou de férias e só consegui tirar um tempinho para responder as coisas atrasadas agora..

      Enfim, na versão mais nova não existe mais Runtime separada para instalar.. Você precisa distribuir as dlls do Report Viewer (as mesmas que foram referenciadas através do pacote do NuGet que você adicionou no seu projeto) junto com a aplicação.. É a segunda alternativa que eu expliquei neste artigo sobre distribuição de aplicações com o Report Viewer:

      Como distribuir aplicações com o Report Viewer?

      Só que ao invés de utilizar as dlls da versão antiga, você precisa utilizar as dlls da versão nova (elas estarão todas na pasta bin/debug do seu projeto)..

      Abraço!
      André Lima

  • Ueslei disse:

    Excelente! Me deu uma dor de cabeça imensa ao tentar rodar um relatório modificado em meu projeto recém migrado do vs2015 pro vs2017 e nada mais funcionava… Esse post salvou meu dia!
    Obrigado

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *