C #: Создание файла, редактируемого из одного проекта, но включающего его в два - PullRequest
2 голосов
/ 23 августа 2011

В настоящее время у меня есть решение, в котором используется определенный класс из нескольких проектов C #, какой-то Silverlight, какой-то обычный. По причинам совместимости я не могу создать единый проект для этих служебных классов. Сначала я решил проблему, сделав проект библиотеки классов Silverlight, чтобы на него могли ссылаться все другие проекты.

Однако я столкнулся с другой проблемой, которая сделала невозможным использование проекта Silverlight в качестве библиотеки классов. Поэтому я решил создать два отдельных проекта библиотеки классов: один Silverlight, другой обычный. В C ++ можно добавить файл проекта в два проекта, имея только один физический файл на диске. Я заметил, что в C # он автоматически делает копию при добавлении файла во второй проект. Я решил это с помощью события сборки, которое копирует файл из обычной библиотеки в Silverlight при сборке проекта Silverlight.

Это все работает, поэтому технически проблема решена. Тем не менее, он стал слишком запутанным на мой вкус. Кроме того, другие программисты, которые не знают о моем решении, могут начать редактирование зависимого (Silverlight) файла и получить неожиданные результаты.

Итак, мой вопрос: знаете ли вы какие-либо веские причины для правильного решения этих двух проблем? Как бы вы решили это?

Ответы [ 3 ]

3 голосов
/ 23 августа 2011

Если вам нужен 1 файл на диске, не используйте стандарт «Добавить» при добавлении файла в проект, а нажмите на стрелку рядом с ним в диалоговом окне и выберите «Добавить как ссылку», однако это не мешает этому от редактирования (вам придется искать другие варианты там, я не знаю ни о каких)

1 голос
/ 23 августа 2011

Я думаю, вы говорите о связывании. Посмотрите здесь:

http://support.microsoft.com/kb/306234

Надеюсь, это поможет.

0 голосов
/ 23 августа 2011
У

есть файл в одном проекте, а затем в других проектах, где вы хотите его иметь, выполните команду «Добавить существующий элемент», выберите файл и увидите, что кнопка «Добавить» в диалоговом окне имеет небольшую стрелку, выберите «1001» оттуда ивы настроены:)

...