Je suis confronté à un problème étrange en essayant de construire en utilisant MSBuild.MSBuild - condition de concurrence en essayant de construire des références de projet
J'utilise MSBuild pour générer un fichier de solution avec/m (build parallèle) et BuildProjectReferences défini sur true. Supposons que j'ai A.vcxproj et B.vcxproj dans le fichier SLN avec B ayant une référence de projet à A. Que se passe-t-il? Un projet commence à construire en premier et alors qu'il est en cours de compilation, le projet B commence à construire dans un autre processus (depuis builds parallèles) et il invoquerait le bâtiment A. Maintenant, cela provoque une condition de concurrence parce que nous avons deux processus essayant de construire le même projet A et je verrais des problèmes d'accès.
Idéalement, MSBuild ne doit pas appeler le bâtiment B si A n'a pas terminé la construction ou s'il invoque B, puis détecter que A est encore en train de construire et attendre qu'il se termine. Rien de tout cela n'arrive. En outre, cela se produit uniquement avec MSBuild - ne se produit pas si j'essaie de générer le fichier de solution à partir de l'IDE VS2015.
Une idée de pourquoi MSBuild se comporte de cette façon?
Quelle version de MsBuild, quelle version Visual C++? Cela peut avoir une influence. – jessehouwing
VS 2015 et MSBuild 14.0 – comingbacktolife