Lors de l'ajout d'une référence à un assembly situé dans le répertoire de la solution, existe-t-il un moyen de l'ajouter de manière relative, de sorte que lorsqu'il est archivé et sorti d'un référentiel, il soit correctement référencé dans les projets?
visual-studio-2008
reference
relative-path
theringostarrs
la source
la source
Réponses:
Pour développer le commentaire original de Pavel Minaev - L'interface graphique de Visual Studio prend en charge les références relatives en supposant que votre .sln est la racine de la référence relative. Donc, si vous avez une solution
C:\myProj\myProj.sln
, toutes les références que vous ajoutez dans les sous-dossiers deC:\myProj\
sont automatiquement ajoutées en tant que références relatives.Pour ajouter une référence relative dans un répertoire distinct, par exemple
C:/myReferences/myDLL.dll
, procédez comme suit:Modifiez le <HintPath> pour qu'il soit égal à
<HintPath>..\..\myReferences\myDLL.dll</HintPath>
Cela fait maintenant référence
C:\myReferences\myDLL.dll
.J'espère que cela t'aides.
la source
Oui, créez simplement un répertoire dans votre solution comme lib /, puis ajoutez votre dll à ce répertoire dans le système de fichiers et ajoutez-le dans le projet (Add-> Existing Item-> etc). Ajoutez ensuite la référence en fonction de votre projet.
J'ai fait cela plusieurs fois sous svn et sous cvs.
la source
Dans VS 2017, c'est automatique. Alors
Add Reference
comme d'habitude.Notez que dans
Reference Properties
le chemin absolu est affiché, mais en.vbproj/.csproj
relatif est utilisé.la source
Le moyen le plus simple d'y parvenir est probablement d'ajouter simplement la référence à l'assemblage, puis de corriger (manuellement) la représentation textuelle de la référence dans le fichier de projet Visual Studio correspondant (extension .csproj) de manière à ce qu'elle devienne relative.
Je l'ai fait plusieurs fois dans VS 2005 sans aucun problème.
la source
Je ne suis peut-être pas ici, mais il semble que la réponse soit assez évidente: regardez les chemins de référence dans les propriétés du projet. Dans notre configuration, j'ai ajouté notre dossier de référentiel commun, à la fenêtre de l'interface graphique du chemin de référence, comme ceci
De cette façon, je peux copier mes dll (prêtes à être publiées) dans ce dossier et chaque développeur obtient maintenant la DLL mise à jour chaque fois qu'il construit à partir de ce dossier.
Si la dll est trouvée dans la solution, le constructeur doit donner la priorité à la version locale par rapport à la version d'équipe publiée.
la source
Comme mentionné précédemment, vous pouvez modifier manuellement le
.csproj
fichier de votre projet afin de l'appliquer manuellement.J'ai également remarqué que Visual Studio 2013 tente d'appliquer un chemin relatif au chemin d'indication de référence, probablement en raison d'une tentative de rendre le fichier de projet plus portable.
la source