Распространенные файлы в Visual Studio Solution - PullRequest
9 голосов
/ 05 сентября 2008

Много раз я видел решения Visual Studio, в которых есть несколько проектов с общими исходными файлами. Эти общие исходные файлы обычно находятся в общем каталоге, и в обозревателе решений их значок отображается со стрелкой ссылки в левом нижнем углу.

Однако всякий раз, когда я пытаюсь добавить исходный файл в проект, который находится за пределами основного каталога этого проекта, он просто автоматически копирует его в каталог, чтобы у меня больше не было общей копии.

Я обнаружил, что могу обойти это, вручную открыв файл проекта в текстовом редакторе и изменив путь к чему-то вроде "../../../Common/Source.cs", но это скорее хак то я бы хотел.

Есть ли настройка или что-то, что я могу изменить, что позволит мне сделать это из IDE?

Ответы [ 2 ]

22 голосов
/ 05 сентября 2008

Щелкните правой кнопкой мыши по проекту, выберите Добавить-> Существующий элемент-> Добавить как ссылку (нажмите на маленькую стрелку на кнопке Добавить)

3 голосов
/ 05 сентября 2008

Спасибо @aku!

Я знал, что это можно сделать, но я не знал, как это сделать из Visual Studio. Он отображается как ярлык для файла, а файл csproj генерирует результирующий XML-код следующим образом:

<Compile Include="..\CommonAssemblyInfo.cs">
  <Link>CommonAssemblyInfo.cs</Link>
</Compile>

Я видел эту технику, обычно используемую для обычных файлов AssemblyInfo, чтобы сохранить согласованную версию.

...