none
Como importar uma classe em um projeto sem referenciar a classlib a que ela pertence? RRS feed

  • Pergunta

  • Buenas pessoal

    A questão é a seguinte.

    Digamos que tenho uma Class Library TESTES na minha Solution.

    Em Testes, tenho uma classe TesteAlfa (testealfa.cs).

    Na solution, tenho vários projetos que utilizam a class library TESTES e sua classe TesteAlfa.

    Mas em um dos projetos (TesteSolo), utilizo apenas a classe TesteAlfa e preciso que ela seja compilada internamente, pois a DLL TESTES não poderá estar acessível. Eu poderia apenas copiar testealfa.cs para a pasta do projeto TesteSolo, mas isso implicaria em ter que copiar novamente a cada modificação.

    Há alguma maneira de referenciar esta classe específica no projeto TesteSolo para evitar a geração/uso da dll TESTES?

    domingo, 23 de outubro de 2016 11:08

Respostas

  • Olá,

    Guionardo, a questão é que a classe que você quer precisa estar em algum projeto para ser compilada e virar uma DLL. Pelo que comentou não deseja que a DLL do projeto TESTES seja referenciada no seu projeto, pois quer apenas a funcionalidade de uma classe. Ou seja, você tem duas opções: Ou traz essa classe para seu projeto atual (E fica com o código duplicado, o que é ruim), ou a segunda opção é fazer um novo projeto que contenha essa classe e a referencie tanto no projeto de testes, quanto no seu outro.

    O problema é que toda a classe precisa de um projeto para que possa ser compilada para virar DLL, então em algum projeto essa classe terá que estar. Não tem como compilar uma classe apenas no projeto pelo visual Studio.

    Espero ter esclarecido.

    Valeu!


    Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!

    André Secco
    Microsoft MSP & MSDN Tech Advisor
    Blog: http://andresecco.com.br
    GitHub: http://github.com/andreluizsecco
    Twitter: @andre_secco

    domingo, 23 de outubro de 2016 18:10

Todas as Respostas

  • Olá,

    Guionardo, a questão é que a classe que você quer precisa estar em algum projeto para ser compilada e virar uma DLL. Pelo que comentou não deseja que a DLL do projeto TESTES seja referenciada no seu projeto, pois quer apenas a funcionalidade de uma classe. Ou seja, você tem duas opções: Ou traz essa classe para seu projeto atual (E fica com o código duplicado, o que é ruim), ou a segunda opção é fazer um novo projeto que contenha essa classe e a referencie tanto no projeto de testes, quanto no seu outro.

    O problema é que toda a classe precisa de um projeto para que possa ser compilada para virar DLL, então em algum projeto essa classe terá que estar. Não tem como compilar uma classe apenas no projeto pelo visual Studio.

    Espero ter esclarecido.

    Valeu!


    Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!

    André Secco
    Microsoft MSP & MSDN Tech Advisor
    Blog: http://andresecco.com.br
    GitHub: http://github.com/andreluizsecco
    Twitter: @andre_secco

    domingo, 23 de outubro de 2016 18:10
  • Entendi, André.

    O ponto realmente é não ter código duplicado, por isso pensei que seria interessante que um arquivo .cs de uma classe pudesse ser linkado em outro projeto e assim, qualquer alteração na classe no projeto original seria propagado para o .cs copiado no projeto secundário.

    Mas para minha necessidade, terei que copiar o .cs, pois o projeto TesteSolo não pode ter nenhuma DLL extra.

    domingo, 23 de outubro de 2016 18:40