none
FileInfo : Não há suporte para o formato do caminho dado. (?) RRS feed

  • Pergunta

  • Bom dia amigos(a),

    Estou tentando obter a versão de um aplicativo (.exe) que se encontra em um determinado endereço/FTP.

                    // OBTENDO VERSÃO DO EXECUTÁVEL NO FTP (LOCAL)
                    WebClient request = new WebClient();
                    string url = vGLOBALFTPAPP + "App.exe";
                    request.Credentials = new NetworkCredential(vGLOBALUSERFTP, vGLOBALPASSFTP);
                    var infoVLiteFTP = FileVersionInfo.GetVersionInfo(url);
                    vVERSAOHCLFTP = infoVLiteFTP.ProductVersion;
    
                    var vVHCLAPP = new Version(vVERSAOHCLAPP);
                    var vVHCLFTP = new Version(vVERSAOHCLFTP);
                    var rHCL = vVHCLAPP.CompareTo(vVHCLFTP);

    Da forma que está descrita acima funciona somente se eu estiver conectado na rede. Quando tento obter a versão do aplicativo pelo endereço externo "ftp://...", o seguinte exception é exibido:

    'Não há suporte para o formato do caminho dado.'

    Obrigado pela atenção pessoal,

    Att.

    sexta-feira, 8 de setembro de 2017 11:44

Respostas

  • Olá bom dia,

    A exception está acontecendo na chamada do método GetVersionInfo?

    O problema é que esse método só aceita endereços locais mesmo ou de rede (https://msdn.microsoft.com/pt-br/library/system.diagnostics.fileversioninfo.getversioninfo%28v=vs.110%29.aspx?f=255&MSPPError=-2147217396. As bibliotecas de arquivo do .NET só interagem com arquivos que estejam no mesmo ambiente (local ou rede). O que você precisa fazer é baixar o arquivo do FTP primeiro, depois disso, você faz o que está planejando usando o GetVersionInfo. 

    Abaixo um exemplo de como usar a biblioteca de FTP do .NET:

    http://www.c-sharpcorner.com/UploadFile/0d5b44/ftp-using-C-Sharp-net/


    ​Rafael Esquiçato Professional Scrum Master MCP, MCTS

    sexta-feira, 8 de setembro de 2017 13:02

Todas as Respostas

  • Olá bom dia,

    A exception está acontecendo na chamada do método GetVersionInfo?

    O problema é que esse método só aceita endereços locais mesmo ou de rede (https://msdn.microsoft.com/pt-br/library/system.diagnostics.fileversioninfo.getversioninfo%28v=vs.110%29.aspx?f=255&MSPPError=-2147217396. As bibliotecas de arquivo do .NET só interagem com arquivos que estejam no mesmo ambiente (local ou rede). O que você precisa fazer é baixar o arquivo do FTP primeiro, depois disso, você faz o que está planejando usando o GetVersionInfo. 

    Abaixo um exemplo de como usar a biblioteca de FTP do .NET:

    http://www.c-sharpcorner.com/UploadFile/0d5b44/ftp-using-C-Sharp-net/


    ​Rafael Esquiçato Professional Scrum Master MCP, MCTS

    sexta-feira, 8 de setembro de 2017 13:02
  • Bom dia Rafael. 

    Certo, farei primeiro o download, leitura e por fim a exclusão do mesmo. Obrigado! 

    sexta-feira, 8 de setembro de 2017 13:22