Frage

Wenn Sie einen Verweis auf einer Baugruppe Hinzufügen innerhalb der Lösung Verzeichnis befindet, ist es eine Möglichkeit, es relativ hinzuzufügen, so dass, wenn in ein und aus einem Repository eingecheckt es richtig in Projekten verwiesen wird?

War es hilfreich?

Lösung

auf Pavel Minaev ursprünglichen Kommentar zu erweitern - Die GUI für Visual Studio unterstützt relative Bezüge mit der Annahme, dass Ihr SLN die Wurzel der relativen Referenz. Wenn Sie also eine Lösung C:\myProj\myProj.sln haben, sind die Verweise addieren Sie in Unterordner C:\myProj\ werden als relative Bezüge automatisch hinzugefügt.

Um eine relative Referenz in einem separaten Verzeichnis, wie C:/myReferences/myDLL.dll hinzuzufügen, gehen Sie wie folgt vor:

  1. die Referenz in Visual Studio GUI hinzu, indem Sie das Projekt in Projektmappen-Explorer einen Rechtsklick und Auswahl von Verweis hinzufügen ...
  2. Finden Sie die * CSPROJ wo diese Referenz existieren und es in einem Texteditor öffnen
  3. Bearbeiten Sie die , um gleich

    <HintPath>..\..\myReferences\myDLL.dll</HintPath>

Das jetzt verweist C:\myReferences\myDLL.dll.

Hoffe, das hilft.

Andere Tipps

Ja, erstellen Sie einfach ein Verzeichnis in Ihrer Lösung wie lib / und dann Ihre DLL im Dateisystem in das Verzeichnis hinzuzufügen, und fügen Sie sie in das Projekt (Add-> Bestehende Item-> usw.). Dann die auf Ihrem Projekt basierende Referenz hinzuzufügen.

ich dies mehrmals unter svn getan haben und unter cvs.

Wahrscheinlich der einfachste Weg, dies zu erreichen ist es, einfach den Verweis auf die Assembly hinzufügen und dann (manuell) in der entsprechenden Visual Studio-Projektdatei (Erweiterung CSPROJ), so dass es relativiert die Textdarstellung der Referenz patchen.

ich diese viele Male in VS getan habe 2005 ohne Probleme.

In VS 2017 ist es automatisch. So wie in der Regel Add Reference.

Beachten Sie, dass in Reference Properties absoluten Pfad dargestellt, aber in .vbproj/.csproj relativ verwendet.

<Reference Include="NETnetworkmanager">
      <HintPath>..\..\libs\NETnetworkmanager.dll</HintPath>
      <EmbedInteropTypes>True</EmbedInteropTypes>
</Reference>

Wie bereits erwähnt, können Sie Ihr Projekt .csproj Datei, um manuell bearbeiten sie manuell anzuwenden.

Ich habe auch bemerkt, dass Visual Studio 2013 versucht, einen relativen Pfad zu dem Referenz HintPath anzuwenden, wahrscheinlich wegen eines Versuchs, die Projektdatei mehr tragbar zu machen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top