none
Referencia entre dois projetos RRS feed

  • Pergunta

  • Olá colegas,

    eu referenciei o projeto B no projeto A. Agora estou tentando referenciar o projeto A no B porque ele possui a classe e o método que preciso, só que ao tentar referenciar aparece a mensagem "A reference to xxx could not be added. Adding this project as a reference would cause a circular dependency". Eu já fiz várias pesquisas sobre isso, mas não consegui resolver ainda.

    Eu vi algo sobre Interface, mas não consegui fazer funcionar.

    Alguém tem ideia de como resolver isso?

    quarta-feira, 7 de outubro de 2015 13:29

Respostas

  • Aqui está a resposta.


    A flower cannot blossom without sunshine, and man cannot live without love.


    • Editado Marcos SJ quarta-feira, 7 de outubro de 2015 16:43 Edição
    • Marcado como Resposta Marcos SJ quarta-feira, 7 de outubro de 2015 16:43
    quarta-feira, 7 de outubro de 2015 14:28
    Moderador

Todas as Respostas

  • Aqui está a resposta.


    A flower cannot blossom without sunshine, and man cannot live without love.


    • Editado Marcos SJ quarta-feira, 7 de outubro de 2015 16:43 Edição
    • Marcado como Resposta Marcos SJ quarta-feira, 7 de outubro de 2015 16:43
    quarta-feira, 7 de outubro de 2015 14:28
    Moderador
  • No caso eu teria que gerar arquivo DLL do projeto ClassLibrary (projeto B) e referenciar essa DLL no projeto principal (projeto A) ao invés de referenciar o projeto csproj? Dai com isso conseguiria referenciar o projeto principal (projeto A) no ClassLibrary também (projeto B)?

    E se referenciar a DLL não vou conseguir debugar o fonte depois né?

    quarta-feira, 7 de outubro de 2015 16:56
  • Alguém poderia me esclarecer sobre isso?
    sexta-feira, 9 de outubro de 2015 18:00
  • Olá Eugenio Junior,

    Tudo bem?

    Não entendi se você só não entendeu a informação passada pelo Levi Domingos ou se você quer outra coisa. Poderia por gentileza responder fazendo uma referência a informação passada por ele?

    Atenciosamente


    Marcos Roberto de Souza Junior

    Esse conteúdo e fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as respostas que resolveram o seu problema. Essa e uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    quinta-feira, 15 de outubro de 2015 14:09
  • Boa tarde Marcos, td certo.

    Eu não entendi muito bem a resposta no link que o Levi mandou. Pelo que vi, a resposta considerada naquele link foi que "um projeto não pode fazer referencia no outro porque causa dependência circular". Logo mais abaixo o "ema_123" falou sobre gerar 2 DLLs e/ou projeto pai com projeto filho. Foi com base nisso que pedi pro Levi se essa seria a solução.

    Você sabe qual seria a solução para esse caso?

    segunda-feira, 26 de outubro de 2015 15:29
  • Boa tarde.

    Eugênio, seria interessante que tu repensaste na estrutura dos teus projetos.

    Como dito no link do Levi Domingos, tu não podes gerar uma referência circular, ou seja, tu não podes ter um projeto A fazendo referência ao projeto B e o projeto B fazendo referência ao projeto A.

    Por que isso?

    Porque o compilador precisa compilar os projetos em uma ordem, então ele compila primeiro os projetos que tu usas de referência para depois compilar os projetos que precisam dessas referências.

    Ao tentar adicionar dois projetos com dependência circular, tu basicamente estás falando que um projeto A precisa do projeto B para ser compilado, mas o projeto B precisa do projeto A para ser compilado, gerando o erro.


    Att., Rafael Simor


    • Editado SimorC segunda-feira, 26 de outubro de 2015 15:53
    segunda-feira, 26 de outubro de 2015 15:53
  • Boa tarde Simor,

    eu entendi seu comentário. Na verdade a estrutura está assim porque estou utilizando um projeto da internet (UniNFe) que é atualizado pelo SVN e o nosso próprio ERP que é separado. Juntos formam a solução no Visual Studio. Nesse caso eu não consigo mudar a estrutura.

    Eu preciso incluir uma validação no UniNFe (projeto da internet) que estou utilizando, só que ele já está sendo referenciado no meu ERP. Essa validação precisa de conexão com o banco e utilizar as classes do ERP. Aí que tá o problema.

    segunda-feira, 26 de outubro de 2015 16:03