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 relativement, de sorte que, lorsqu'il est archivé et sorti d'un référentiel, il soit correctement référencé dans les projets?
Pour développer le commentaire d'origine 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. Ainsi, si vous avez une solution C:\myProj\myProj.sln
, toutes les références que vous ajoutez dans les sous-dossiers de C:\myProj\
sont automatiquement ajoutées en tant que références relatives.
Pour ajouter une référence relative dans un répertoire distinct, tel que C:/myReferences/myDLL.dll
, procédez comme suit:
Editez le <cheminInfo> pour qu'il soit égal à
<HintPath>..\..\myReferences\myDLL.dll</HintPath>
Ceci fait maintenant référence à C:\myReferences\myDLL.dll
.
J'espère que cela t'aides.
Oui, créez simplement un répertoire dans votre solution tel que lib /, puis ajoutez votre dll à ce répertoire du système de fichiers et ajoutez-le au projet (Ajouter-> Elément existant-> etc.) Ajoutez ensuite la référence en fonction de votre projet.
Je l'ai fait plusieurs fois sous svn et sous cvs.
Pour ce faire, le moyen le plus simple consiste probablement à simplement ajouter la référence à l’assemblage, puis à patcher (manuellement) la représentation textuelle de la référence dans le fichier de projet Visual Studio correspondant (extension .csproj) afin qu’elle devienne relative.
J'ai fait cela beaucoup de fois dans VS 2005 sans aucun problème.
Dans VS 2017, c'est automatique. Donc, juste Add Reference
comme d'habitude.
Notez que Reference Properties
chemin absolu est affiché, mais .vbproj/.csproj
relatif est utilisé.
<Reference Include="NETnetworkmanager">
<HintPath>..\..\libs\NETnetworkmanager.dll</HintPath>
<EmbedInteropTypes>True</EmbedInteropTypes>
</Reference>
Comme mentionné précédemment, vous pouvez modifier manuellement le fichier .csproj
de votre projet afin de l'appliquer manuellement.
J'ai également remarqué que Visual Studio 2013 tente d'appliquer un chemin relatif au hintpath de référence, probablement à cause d'une tentative de rendre le fichier de projet plus portable.