Notre solution a été configurée pour que Project A Références Project B, Projet B référence Project C et Project C disposent d'un wrapper .NET qui fait référence aux DLL natives.Dépendances conditionnellement copiées MSBuild
A -> B -> C -> via DLL natifs Wrapper .NET
La raison de la convolution est que nous avons affaire avec le matériel 3ème partie, ou nous renverrait les DLLs directement du projet B. Quoi qu'il en soit - -
Nous essayons d'obtenir des fichiers (DLL natifs) qui sont référencés dans le projet C, copié sur le projet A. Copie action locale avec accumulation de « contenu » ne fonctionne pas parce MSBuild échouera en disant qu'il ne peut pas écraser les fichiers car une fois qu'ils démarrent, les processus ne nettoient pas après eux-mêmes et restent en cours d'exécution.
Est-il possible que MSBuild tente de tuer des processus avant de les construire?
OU
- Est-il possible de copier conditionnellement les DLL natives du projet B au projet A si elles n'existent pas avec MSBuild? Le dossier bin du projet A est d'où ils sont lancés, et c'est là que la construction échoue (pas du projet C vers B).
j'ai pu obtenir le processus de nettoyage après lui-même en utilisant: 'Exec Command =" taskkill/fi " IMAGENAME eq ProcessToKill.exe "/F "" comme si le processus n'était pas exécuté, une erreur serait levée avec le commutateur/IM. En outre, l'ajout d'une référence du projet A au projet C était nécessaire pour empêcher la suppression des DLL. Merci pour l'aide! – Clark