VS2019 V16.6.3
Pour moi, le problème était que le fichier .proj principal se retrouvait avec une entrée comme celle-ci pour le projet dont la DLL n'était pas copiée dans le dossier bin du projet parent :
<ProjectReference Include="Project B.csproj">
<Project>{blah blah}</Project>
<Name>Project B</Name>
<Private>True</Private>
</ProjectReference>
J'ai supprimé manuellement la ligne <Private>True</Private>
et la DLL a ensuite été copiée dans le dossier bin du projet principal à chaque construction du projet principal.
Si vous allez sur la référence du projet problématique dans le dossier des références du projet principal, cliquez dessus et affichez les propriétés, il y a un paramètre "Copy Local". La balise privée correspond à ce paramètre, mais pour une raison quelconque, le fait de modifier la copie locale n'a eu aucun effet sur la balise privée dans le fichier .proj.
Malheureusement, je n'ai pas modifié la valeur locale de copie pour la référence, je n'ai aucune idée de la façon dont elle a été définie de cette façon et une autre journée perdue à traquer un problème stupide avec VS.
Merci à toutes les autres réponses qui m'ont aidé à trouver la cause.
HTH
2 votes
Si vous n'y arrivez pas, copiez-le dans votre pré-construction.
1 votes
Comment utilisez-vous votre "ProjetX" dans le projet principal - quel est le type de projet, la cible, etc.
2 votes
J'ai eu le même problème et cette réponse l'a résolu : stackoverflow.com/a/8213977/174469
4 votes
Duplicata possible de Msbuild ne copie pas les références (dlls) lors de l'utilisation des dépendances du projet dans la solution
1 votes
Il y a
RestoreProjectStyle
solution disponible . L'idée est de définir<RestoreProjectStyle>PackageReference</RestoreProjectStyle>
pour chaque projet .Net Framework de la solution.