ソリューションディレクトリ内にあるアセンブリに参照を追加する場合、リポジトリにチェックインおよびチェックアウトするときにプロジェクトで正しく参照されるように、相対的に追加する方法はありますか?
Pavel Minaevの元のコメントを拡張するには-Visual StudioのGUIは、.slnが相対参照のルートであるという前提で相対参照をサポートします。ソリューションC:\myProj\myProj.sln
がある場合、C:\myProj\
のサブフォルダーに追加した参照は、自動的に相対参照として追加されます。
C:/myReferences/myDLL.dll
などの別のディレクトリに相対参照を追加するには、次の手順を実行します。
<HintPath>を編集して、等しい
<HintPath>..\..\myReferences\myDLL.dll</HintPath>
これはC:\myReferences\myDLL.dll
を参照するようになりました。
お役に立てれば。
はい、ソリューションにlib /などのディレクトリを作成してから、dllをファイルシステム内のそのディレクトリに追加し、プロジェクトに追加します(Add-> Existing Item-> etc)。次に、プロジェクトに基づいて参照を追加します。
私はこれをsvnおよびcvsで数回行いました。
VS 2017では、自動です。これだけ Add Reference
通常どおり。
Reference Properties
絶対パスが表示されますが、.vbproj/.csproj
相対が使用されます。
<Reference Include="NETnetworkmanager">
<HintPath>..\..\libs\NETnetworkmanager.dll</HintPath>
<EmbedInteropTypes>True</EmbedInteropTypes>
</Reference>
おそらく、これを実現する最も簡単な方法は、アセンブリに参照を追加し、対応するVisual Studioプロジェクトファイル(拡張子.csproj)内の参照のテキスト表現を(手動で)相対パッチすることです。
VS 2005でこれを何回も問題なく行いました。
前述のように、プロジェクトの.csproj
ファイルを手動で適用します。
また、Visual Studio 2013は、おそらくプロジェクトファイルの移植性を高めるために、参照ヒントパスに相対パスを適用しようとすることに気付きました。