Почему Visual Studio допускает только одну ссылку на файл в проекте?
Я хотел бы иметь файл в нескольких разных проектах решения, однако Visual Studio допускает только одну ссылку на решение для файла. Это можно обойти?
В чем проблема наличия нескольких программных ссылок на один файл в проекте VS?
Обновление: я добавил ссылку, как описано в комментариях ниже, кажется, что проблема для каждого проекта. В одном проекте не может быть нескольких ссылок на один и тот же файл. Когда я пытаюсь добавить ссылку, я получаю следующую ошибку: "Ссылка на" уже есть ". Проект не может иметь более одной ссылки на один и тот же файл".
4 ответа
Я использую Visual Studio 2008 Professional, и он позволяет мягко связать один и тот же файл из одного проекта с любым другим проектом, независимо от количества файлов решения, которые вы используете.
Вы можете создать несколько ссылок на один файл в ОДНОМ проекте, но вручную и 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>
Я хотел бы добавить более одной ссылки на один и тот же файл.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, и вставляю их туда, где они принадлежат. Это нормально, я получаю дружественный к девайсу код и я счастлив.
Но что, если кто-то изменит серверный контракт? Здесь я не могу просто обновить ссылку на сервис. Я должен копировать и вставлять новые контракты в мою папку Service Reference при каждом изменении контракта.
Подводя итог, мне нужно добавить мои исходные файлы WSDL/XSD в виде ссылок на все папки справочников услуг, чтобы упростить процесс изменения контракта. Просто ознакомьтесь с новым WSDL/XSD, щелкните правой кнопкой мыши по ссылке Reference.svcmap > Run Custom Tool.
Разве это не достойная особенность?
Не уверен, что вы хотите достичь или какой это файл, но вы могли бы создать новый проект с этим файлом в нем и ссылаться на этот проект из каждого из проектов, которые этого требуют? Если это файл кода, то он будет в пределах видимости, если это какой-то другой файл с "Копировать всегда", то он будет скопирован в папку bin различных проектов при сборке?