Dans mon cas, c'était la chose la plus stupide, causée par un comportement par défaut de TFS/VS avec lequel je ne suis pas d'accord.
Puisque l'ajout de la dll comme référence au projet principal ne fonctionnait pas, j'ai décidé de l'ajouter comme "élément existant", avec Copy Local = Always. Même dans ce cas, le fichier n'était pas là.
Il s'avère que, même si le fichier est présent dans la solution VS et que tout a été compilé à la fois localement et sur le serveur, VS/TFS n'a pas réellement ajouté le fichier au contrôle de source. Il n'était pas du tout inclus dans les "Pending Changes". J'ai dû aller manuellement dans l'explorateur de contrôle de source et cliquer explicitement sur l'icône "Ajouter des éléments au dossier".
C'est stupide parce que je développe depuis 15 ans en VS. J'ai déjà rencontré ce problème auparavant, mais je ne m'en souvenais pas et, d'une manière ou d'une autre, je l'ai manqué parce que tout compilait toujours parce que le fichier était une référence normale, mais le fichier qui a été ajouté comme élément existant n'était pas copié parce qu'il n'existait pas sur le serveur de contrôle de source.
J'espère que cela fera gagner du temps à quelqu'un, puisque j'ai perdu deux jours de ma vie à cause de cela.
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.