Пользовательские классы общей библиотеки в Visual Studio .NET - PullRequest
1 голос
/ 09 сентября 2010

Я написал несколько классов, которые я использую в разных проектах. Например, я использую Library.Controls.FlatButton.cs почти в каждом проекте. Проблема в том, когда я добавляю это как «существующий элемент»; класс создается / копируется в мою папку Soultion каждый раз. И каждый раз, когда я редактирую / обновляю содержимое этого класса, мне приходится обновлять все файлы Library.Controls.FlatButton.cs в каждой папке проекта.

Мне нужно иметь возможность редактировать один источник класса FlatButton, и когда я компилирую / собираю проект (который использует файл класса), он обновляется до новой версии этого класса. Вопрос 1: Есть ли способ сделать это?

Я знаю, что могу собрать все эти классы в проекте библиотеки (Library.Controls) и добавить его в каждое решение приложения в качестве зависимости. Вопрос 2: Является ли это единственным способом работы из единого источника файлов общих библиотек? И если я сделаю; Будут ли все классы в пространстве имен Library.Controls скомпилированы с каждым приложением, даже если я использовал только этот класс FlatButton в проекте?

Надеюсь, это понятно для вас .. спасибо

Ответы [ 3 ]

3 голосов
/ 09 сентября 2010

Я бы предпочел использовать подход общей библиотеки и добавить их в качестве ссылок на ваш клиентский проект.

Если вы не хотите этого делать. Вы можете добавить файл как «Ссылка». В разделе Добавить существующий элемент выберите Добавить как ссылку.

1 голос
/ 09 сентября 2010

Да, библиотека классов - это путь, и да, поскольку на всю библиотеку классов будут ссылаться из ваших приложений, все классы будут ей доступны.

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

1 голос
/ 09 сентября 2010

Альтернативным способом является добавление FlatButton.cs файла "Как ссылка": alt text

...