Почему Visual Studio допускает только одну ссылку на файл в проекте? - PullRequest
7 голосов
/ 06 декабря 2009

Я хотел бы иметь файл в нескольких разных проектах решения, однако Visual Studio допускает только одну ссылку на решение для файла. Есть ли способ обойти это?

В чем проблема наличия нескольких программных ссылок на один файл в проекте VS?

Обновление: Я добавил ссылку, как описано в комментариях ниже, похоже, что проблема для каждого проекта. В одном проекте не может быть нескольких ссылок на один и тот же файл. Когда я пытаюсь добавить ссылку, я получаю следующую ошибку: «Ссылка на« уже есть ». Проект не может иметь более одной ссылки на один и тот же файл».

Ответы [ 4 ]

2 голосов
/ 22 октября 2014

Вы можете создать несколько ссылок на один файл в ОДНОМ проекте, но вручную и VS не будет отображать его в дереве проекта.

выгрузить проект и добавить, например, ссылки:

<Content Include="..\..\_Common\js\JQuery\jquery.js">
  <Link>Sites\OrgCatalogSite\Design\js\JQuery\jquery.js</Link>
  <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>


<Content Include="..\..\_Common\js\JQuery\jquery.js">
  <Link>Sites\TasksManagersSite\Design\js\JQuery\jquery.js</Link>
  <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
1 голос
/ 06 декабря 2009

Я использую Visual Studio 2008 Professional, и он позволяет мягко связать один и тот же файл из одного проекта с любым другим проектом, независимо от количества файлов решения, которые вы используете.

0 голосов
/ 18 января 2010

Хотелось бы добавить несколько ссылок на один и тот же файл .XSD / .WSDL в одном проекте.

Подробнее. Сервер находится в Java (WebSphere Application Server / 7.0). Клиентская DLL в c #. Мы используем контракт-первый подход.

В Visual Studio 2008 я добавляю ссылку на службу. Но вместо моих оригинальных WSDL / XSD-контрактов он получает фиктивные XService.wsdl и XService_schema1.xsd и генерирует «не очень дружественный к девайсу» код (с обертками сообщений, xFieldSpecified, фиктивными коллекциями ArrayOfx ...). Так что я делаю? Я изменяю Reference.svcmap таким образом, чтобы он включал в себя точно оригинальные контракты WSDL / XSD, и вставляю их туда, где они принадлежат. Это нормально, я получаю дружественный к девайсу код и я счастлив.

Но что, если кто-то изменит серверный контракт? Здесь я не могу просто обновить ссылку на сервис. Я должен копировать и вставлять новые контракты в папку «Справочник услуг» при каждом изменении контракта.

Подводя итог, мне нужно добавить мои исходные файлы WSDL / XSD в качестве ссылок на все папки справочников услуг, чтобы упростить процесс изменения контракта. Просто ознакомьтесь с новым WSDL / XSD, щелкните правой кнопкой мыши по ссылке Reference.svcmap> Run Custom Tool.

Разве это не достойная особенность?

0 голосов
/ 06 декабря 2009

Не уверен, что вы хотите достичь или какой это файл, но вы могли бы создать новый проект с этим файлом в нем и ссылаться на этот проект из каждого из проектов, которые в нем нуждаются? Если это файл кода, то он будет в пределах видимости, если это какой-то другой файл с «Копировать всегда», то он будет скопирован в папку bin различных проектов при сборке?

...