質問: ### 前提・実現したいこと 一応、環境情報を。 OS:Windows 10 (x64) Tool:Visual Studio 2013、VisualStudio2015の2種 言語:C#.Net 及び VB.Net いくつかのソリューションで使いまわしているDLLファイルが有ります。 そのDLLをソリューションに追加し、参照追加しようとすると、参照マネージャーではローカルパスを指定しなくては当然ながら追加できません。 ### 問題 上記の方法では、例えばソース管理下で複数のユーザーがUserディレクトリ下で作業する際には、ローカルパスを参照し直さなくてはなりません。 これを相対パスに変更することが出来れば、そういった問題を回避できると思っていますが、方法が発見できず困っています。 以下に簡単な再現方法を示します。 (TFSのワークスペースはUser\ユーザー名\Documentsを指しているものとします) 例: 1NewtonsoftからNewtonsoft.Json.dllをダウンロード 2ソリューションに必要なDLLなので、ローカルパス指定で参照追加し、TFSにコミットした。 3他の開発者がTFSからソースを取得すると、2の作業担当者のローカルパスが指定されており、取得段階では参照できなくなっている。 何とか、このソース取得後に参照できない、という問題を回避する方法が無いかと探しております。 ### 試したこと 当たり前ですが、DLLを生成するプロジェクト自体をソリューション下に配置すればプロジェクトのプライマリ出力が追加でき、このパスはソリューションに対して相対パスになるようで参照追加できます。 ただ、それではDLL化してばら撒くメリットがないのです...
回答: DLLファイルもリポジトリーに納めて、バージョン管理ツールの機能でDLLファイルをC#(VB.NET)プロジェクトのフォルダー内に配置されるようにすれば良いのではないでしょうか。TFSは使ったことがないのですが、たぶんそのような機能はあると思います。 DLLファイルがプロジェクトフォルダー内(サブフォルダーを作っても良い)にあれば、参照の追加で追加したファイルは相対パスで記録されます。