Je recherche des conseils sur une référence de référence / DLL de la pratique de référence. p>
La situation est que nous avons des dll utilitaires qui sont utilisés dans un groupe de projets et des membres de l'équipe de référence par projet et certains par référence dans une DLL. P>
Les inconvénients à la référence du projet sont les suivants: P>
Les réciproques sur le dossier libérade Référence: P>
En outre, quelle serait une bonne stratégie pour assurer que tous les projets fonctionnent toujours avec les mises à jour de la DLL? Aurait-il besoin d'être un serveur de construction de dépendance de dépendance de dépendance de dépendance à la mise à jour de l'utilitaire? P>
Nous utilisons SVN comme contrôle source. P>
3 Réponses :
L'approche que j'utilise est de télécharger la DLL compilée dans un serveur dans un événement post-construction du projet DLL et de les télécharger dans l'événement de pré-construction du projet que j'utilise des DLL. C'est la meilleure approche de mon expérience. C'est la meilleure approche de mon expérience. Lorsque j'ai utilisé des références de projet, certaines erreurs ont eu des erreurs décontractées (autant que je puisse vous rappeler que STH avec le code DLL n'est pas mis à jour correctement). P>
Dans cette approche, le codeur de projet DLL décide quand il souhaite "publier" le code. P>
Nous configurons un serveur Nuget interne pour gérer cela. Ceci est un moyen facile de gérer la gestion de la distribution et de la version. p>
Avec Nuge interne, comment gérez-vous le débogage? En outre, faites-vous juste un projet à la fois lorsqu'il vérifie si la DLL a cassé quoi que ce soit?
Nous l'utilisons surtout pour distribuer des DLL de contrat de service. Si vous devez pouvoir déboguer les DLL distribuées, vous pouvez regarder quelque chose comme Symbole Source. ( symbolsource.org/public ). En ce qui concerne le débogage par rapport à d'autres projets, des modifications de rupture sont correctes car les applications consommatrices n'ont pas de mise à niveau vers la nouvelle version tant qu'elles sont prêtes à le faire. S'il s'agit d'un vrai bogue, j'espère que cela peut être corrigé et le paquet redéployé.
Nous faisons quelque chose de similaire à Peuczyński. Nous avons un dossier sous la racine de notre arborescence source où tous les fichiers DLL, PDB et XML DOC à partir de nos ensembles de bibliothèque vont (donc la version est contrôlée comme tout le reste). D'autres projets font référence à ceux (pas directement aux projets LIB ou à leurs DLL bin). Cela permet de travailler sur le code lib sans perturber le développement de solutions régulières. Seulement lorsque le code LIB est solide est «publié» au dossier officiel LIB (où toutes les DLL, PDBS et XMLS Go). P>
Un petit piratage qui nous a permis d'avoir des versions de débogage et de libération, et d'avoir Visual Studio enlèver le bon dans les projets à l'aide du code de la bibliothèque sans que Funky Pre Country Stuff était de disposer de trois sous-dossiers dans le dossier Libs, avec ceux-ci Dossiers nommés comme suit: $ (configuration) code>, débogage code> et version code>. Lors de l'ajout d'une référence à une DLL de bibliothèque, vous choisissez toujours le fichier à partir du dossier $ (configuration). Ce nom du dossier tourne vs pour utiliser la DLL à partir du dossier de débogage ou de publication, en fonction du type de construction que vous faites. P>
Donc, vous avez une structure comme la racine \ Lib avec chaque dll de bibliothèque et à l'intérieur de ce dossier, il y a 3 dossiers qui sont des 3 dossiers qui sont la configuration root \ lib \ $, root \ lib \ debug et root \ liberne avec dll et fichiers associés avec DLL et fichiers associés dans le débogage et la libération?
Avec l'utilisation du dossier de débogage partagé, existe-t-il un moyen de faire fonctionner différentes équipes sur leurs propres versions de débogage?
@Joshuabarker - Oui, 3 dossiers sous Lib, l'un d'entre eux s'appelle "$ (configuration)", littéralement, y compris des parenthèses. Lorsque les Libs sont construits, les fichiers DLL, PDB et XML sont copiés dans le dossier de débogage des bâtiments de débogage et de publication pour les constructions de version. Le contenu de l'un d'entre eux est copié à $ (configuration) simplement pour obtenir quelque chose à Pointer VS à (mais vs utilisera ensuite les fichiers de débogage ou de libération - il n'utilisera pas réellement les fichiers en $ (configuration). Nous utilisons presque toujours simplement le dossier de libs partagé pour le code «Golden». Un dossier LIBS séparé peut être effectué pour un besoin spécial temporaire.