Quelles sont les causes d'un “Ne peut pas résoudre les dépendances d'erreur” de l'MsBuild?
Je suis en train de mettre en place des scripts de construction de l'intégration continue et je suis la recherche de quelque chose de bizarre.
Ma solution compile fine à partir de Visual Studio 2010, mais échoue avec un message d'erreur quand j'construire exactement la même chose à partir de la ligne de commande avec MSBuild.
Voici l'erreur que je reçois de la ligne de commande build.
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.WinFX.targets(269,9):
erreur MC1000: Inconnue erreur de construction,
"Ne peut pas résoudre les dépendances à l'assembly" Microsoft.De Windows.De la conception.L'extensibilité, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a " parce qu'il n'a pas été préchargés. Lors de l'utilisation de la ReflectionOnly Api, dépendant assemblages doivent être pré-chargées ou chargés à la demande par le biais de la ReflectionOnlyAssemblyResolve événement.'
[C:\Dev\Market Watch\src\Console\MarketWatch.Console\Rbnz.MarketWatch.Console.csproj]
J'ai vérifié à travers tout mon code source pour les références à Microsoft.Windows.Design.Extensibility
et n'ai pas trouvé du tout. J'ai aussi vérifié tous les fichiers binaires nous de référence de ce projet, y compris certains DevExpress bibliothèques.
Mon MSBuild ligne de commande ressemble à ceci:
MsBuild.exe c:\Dev\MarketWatch\src\Capture\Capture.sln
/t:rebuild
/verbosity:quiet
/filelogger
/fileloggerparameters:LogFile=c:\Dev\MarketWatch\build\Logs\capture.msbuild.log
Est qu'il manque quelque chose que je devrais inclure sur la MsBuild ligne de commande pour faire en ligne de commande construit fonctionnent de la même façon que ceux gérés par Visual Studio?
Mise à jour 14/4
- J'obtiens ces erreurs malgré exécution du script de compilation à partir d'une invite de commande Visual Studio.
Vous devez vous connecter pour publier un commentaire.
J'espère que vous avez résolu le problème, mais pour une référence future:
J'ai juste eu le même problème, et il vient de DevExpress '.la conception des assemblages. Vous n'êtes en fait pas censé référence à ceux dans votre projet. Supprimer toutes les références à DevExpress assemblées se terminant par '.la conception " et cela devrait fonctionner.
Vous devez les initialiser chemins pour trouver des assemblages, des outils et ainsi de suite. Appel vcvarsall.chauve-souris avant d'appeler msbuild:
Ou ouvrir VS2010 console de ligne de commande et appelez votre script à partir d'elle. Les deux actions ont le même effet.
EDIT: je ne pouvais pas comprendre une chose - google pour votre question dit que vous utilisez de la Réflexion dans le mauvais sens, et l'une des solutions possibles est décrite ici. Suis-je le droit?
J'ai récemment rencontré le même problème.
L'Erreur a été jeté sur notre VSTS-BuildAgent.
Après avoir suivi tous les conseils de Devexpress sites (y compris le Projet de Mise à niveau), l'Erreur est toujours là.
Pour être honnête, on mélange la WinForms et WPF pour une migration en douceur de à WPF, Winforms, donc en gros pas de tous les jours-problème.
De toute façon, j'ai été en mesure de résoudre ce problème, en ajoutant toutes les références nécessaires à WPF-Projet de nouveau, même si ils sont tous déjà référencé dans le Démarrage du Projet, qui est Winforms.
Après ce déplacement, le BuildAgent a été en mesure de réussir la construction.