Usuário com melhor resposta
Referencia entre dois projetos

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?
Respostas
Todas as Respostas
-
-
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é?
- Editado Eugenio Junior quarta-feira, 7 de outubro de 2015 17:15
-
-
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.
-
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?
-
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
-
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.