É possível habilitar dependências circulares no Visual Studio no nível da montagem? Assembléias mutuamente dependentes seriam possíveis?

Provavelmente isso soa como uma pergunta estúpida, mas vou tentar de qualquer maneira.

Portanto, no Visual Studio, você não pode ter dois projetos X e Y, de modo que X faça referência a Y e Y faça referência a X.

Em geral, eu posso entender totalmente como ter uma dependência circular pode ser problemática, por várias razões.

Mas não é mesmo?possível compilar dois projetos que são interdependentes dessa maneira? Parece-me que deve ser possível, uma vez que (na minha opinião - talvez eu estejacompletamente fora da base sobre isso) ter dois conjuntos mutuamente dependentes não é realmentetão diferente de ter duas classes mutuamente dependentes - um caso queé legal epode ser compilado.

Faria sentido para mim se você dissesse: "dois assemblies não podem depender um do outro porque o compilador não pôde compilar um antes do outro"; exceto que parece que você poderia fazer o mesmo argumento para duas classes dentro do mesmo assembly, e claramente o compilador pode lidar com esse cenário muito bem.

Basicamente, a razão pela qual estou perguntando não é que eu tenha algum desejo desesperado de fazer algo que, de qualquer maneira, sei que é mal recomendado. Especificamente, estou me perguntando, porque seria bom se eu pudesse ter dois projetos - digamos, MyProjectCS e MyProjectVB - que existiam basicamente como duas partes mutuamente dependentes de uma única unidade e só estavam separados porque certas partes foram escritas em C # e outras partes foram escritas em VB.NET.

Então, minha pergunta é (caramba, três vezes):

É possível ativar esse comportamento (no Visual Studio ou em outro lugar, por sinal)?Se não for possível em nenhum IDE, é pelo menosteoricamente possível, ou assembléias mutuamente dependentes não poderiam existir?Se isso não é teoricamente possível, por que não? Em outras palavras, como os assemblies mutuamente dependentes diferem do código mutuamente dependente em um único assembly?

questionAnswers(2)

yourAnswerToTheQuestion