2017-10-08 1 views
0

Je travaille actuellement sur un projet personnel mais je souhaite utiliser Azure & Visual Studio en ligne des installations de construction à des fins d'auto-enseignement. J'ai de la difficulté à résoudre ce problème:Déploiement de la classe Library dans Visual Studio online build

J'ai une application wpf connectée à une API web azur. Wpf app est dans son propre repo Git, web api est également dans son propre repo Git. Puisque les deux applications partageaient un modèle commun, j'ai également mis le modèle commun dans son propre dépôt afin d'éviter la duplication de code. Je dois manquer quelque chose ....

Ce que je veux faire Quand je construis sur Visual Studio en ligne, je veux construire « commun » et nourrir sa sortie dll à WebAPI et des applications WPF afin que leur peut référencer le modèle.

Solutions envisagées jusqu'à présent

  1. NuGet Emballez

faire un paquet NuGet de "modèle", mais où dois-je le pousser? Ça ne va définitivement pas avoir de la valeur pour nuget.org alors ne partez pas. J'aurais besoin d'un repo privé de nuget en studio visuel en ligne, pas sûr qu'il existe.

  1. événement Postbuild

J'ai également envisagé d'ajouter un événement post de construction à la "commune" construire et copier son bac * .dll sortie des applications WPF et WebAPI à certains "dossier de dépendances" mais je trouve ça sale, d'ailleurs je ne suis pas sûr qu'une build puisse pousser sa sortie vers l'entrée d'une autre build (je sais que Jenkins peut mais je ne suis pas sûr de visual studio en ligne) n'existe pas encore dans mon csprj?

  1. commettras bacs en repo (ugh)

Bien sûr, je pourrais construire le modèle local et pousser le dll résultant des prises en pension git mais, eh bien, je suis contre mettre les binaires dans les outils de versioning :)

  1. Changer ma conception Considérez que WPF n'a besoin que DTO et non les entités réelles (ce qui est vrai), mais WebAPI devra désérialiser dtos de toute façon si retour à la case départ, mais avec dtos cette fois :)

Merci pour votre contribution!

+1

Un paquet de Nuget l'âge ne doit pas être sur Nuget.org. Vous pouvez mettre le paquet dans un dossier sur le serveur de construction si vous voulez. En outre, les services d'équipe ont un composant de gestion de paquet qui est fondamentalement votre propre serveur privé de Nuget mais il n'est pas libre autant que je sache. – Crowcoder

Répondre

0

Merci beaucoup à CrowCoder! C'est exactement ce dont j'avais besoin: utiliser l'extension "Package Management" dans Visual Studio Online, gratuite jusqu'à 5 utilisateurs. étapes nécessaires:

  1. configure NuGet sur ma machine locale,
  2. créent la Nuspec,
  3. créent l'alimentation,
  4. paquet
  5. la bibliothèque modèle
  6. configure la construction pour pousser la bibliothèque à la
  7. utiliser des paquets de nuget pour référencer le modèle