web-dev-qa-db-fra.com

La tâche de construction TFS a échoué pour Framework 4.7.2

J'ai installé l'infrastructure 4.7.2 sur le serveur TFS 2013 et j'essaie de créer un travail à l'aide de msbuild.

Je reçois l'erreur suivante:

Paramètre de tâche: TargetFrameworkMoniker = .NETFramework, version = v4.7.2 (TaskId: 6) C:\Fichiers de programme (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets (1098,5): Erreur MSB3644: Le Les assemblys de référence pour la structure ".NETFramework, Version = v4.7.2" sont introuvables. Pour résoudre ce problème, installez le SDK ou le pack de ciblage pour cette version de l'infrastructure ou reciarez votre application vers une version de l'infrastructure pour laquelle vous avez installé le SDK ou le pack de ciblage. Notez que les assemblys seront résolus à partir du Global Assembly Cache (GAC) et seront utilisés à la place des assemblys de référence. Par conséquent, votre assemblée peut ne pas être correctement ciblée pour le cadre que vous souhaitez. Propriété en sortie: _TargetFrameworkDirectories =

Toutes les idées sur ce que je peux vérifier pour que le FW 4.7.2 fonctionne avec MsBuild

16
Nate

Nous venons d'avoir un problème très similaire, bien que nous utilisions Azure Devops plutôt que TFS (mais je pense que le processus de construction devrait être assez similaire, du moins à cet égard).

Je l'ai résolu en mettant à jour le framework .NET sur le serveur de génération et en installant le pack de développement .NET Framework 4.7.2, que vous pouvez obtenir à partir d'ici: https://www.Microsoft.com/net/download/visual-studio-sdks

N'oubliez pas de redémarrer (comme je l'ai fait). Une fois que cela est fait, comme Leo l'a suggéré, essayez d'ouvrir le projet dans Visual Studio directement sur votre serveur de construction ou d'exécuter manuellement msbuild à partir de la ligne de commande.

18
Matt Wanchap

Dans certains cas, la définition de construction peut sembler bonne à première vue. My Build> Tasks> Pipeline peut avoir le pool d'agents correct sélectionné.

Cependant, le travail d'agent peut avoir un pool d'agents complètement différent sélectionné.

Dans ce cas, sélectionnez simplement le pool d’agents approprié et Save & queue une nouvelle version pour résoudre le problème.

0
dperish