1

Je suis en cours de configuration de CI à l'aide de Visual Studio Team Services pour mes projets. La structure de la solution ressemble à ceci:Création de projets faisant référence à d'autres bibliothèques de classes (assemblage manquant)

+MyApplications 
    +.nuget 
     NuGet.Config 
    +Packages 
    +AdminWebApp  ---> ("AdminWebApp" references the class library "AdminClassLib") 
    +ClientWebApp ---> ("ClientWebApp" references the class library "ClientClassLib") 
    +AdminClassLib 
    +ClientClassLib 
    MyApplications.sln 

J'ai créé une définition de construction qui construit à publier au plus tard une application Web (admin). La définition a AdminWeb Construire les tâches suivantes:

-> Nugget Installer

-> Visual Studio Créer

enter image description here

Les cartes du référentiel à la "AdminWebApp" seulement.

Le processus de construction a échoué, ce qui donne l'erreur suivante:

Error CS0246: The type or namespace name 'AdminClassLib' could not be found (are you missing a using directive or an assembly reference?) 
Warning : The referenced project '..\AdminClassLib\AdminClassLib.csproj' does not exist. 

Dans Visual Studio, il construit avec succès parce que je suppose qu'il compile tous les projets et construire les dépendances.

Existe-t-il des informations utiles expliquant comment faire cela en utilisant Visual Studio Team Services?

Répondre

1

Sans le projet référencé, Team Build ne sera pas en mesure de trouver les binaires qui ne sont pas produits dans la construction.

Il se construit probablement localement car le fichier .csproj est là ou les fichiers binaires sont toujours là pour former une version précédente. Vous pouvez soit inclure le projet dans votre espace de travail de build, soit configurer votre définition de build AdminClassLib pour la publier en tant que package NuGet. Vous pouvez utiliser la fonction de gestion des paquets de VSTeam Services pour stocker vos paquets dans.

Vous pouvez ensuite configurer votre interface Web pour récupérer la dernière version du AdminClassLib du référentiel NuGet privé.

+0

Merci @jessehouwing. J'ai ajouté un nouveau mappage à "AdminClassLib" et il se construit avec succès. Cependant, cela prendra beaucoup de temps et de travail car j'aurai beaucoup de projets qui font référence à au moins 6-10 autres projets. Alors, pouvez-vous s'il vous plaît fournir un lien utile sur l'utilisation de la gestion des paquets. – Coding

+0

Vérifier la gestion des dépendances avec nuget http://vsarbranchingguide.codeplex.com/releases – jessehouwing