Влияние идентичного GUID на приложения - PullRequest
3 голосов
/ 29 августа 2011

Всякий раз, когда у меня появляется новый проект на C #, я часто копирую / переименовываю существующий, чтобы повторно использовать большую часть кода. Это означает, что нужно перейти в Assembly Info и переименовать проект там же. В прошлом я не особо задумывался о переименовании GUID.

Это плохая практика программирования и может ли это негативно повлиять на пользователя, если у него есть другая программа, открытая с тем же GUID?

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

Ответы [ 4 ]

4 голосов
/ 29 августа 2011

Я бы сказал, что слепое копирование / вставка против повторного использования - это вообще плохая практика, но если вы обновите значения в assemblyInfo, вы можете быть в безопасности.

Лично я всегда назначаю разные Guid для каждого проекта, если копирую этот файл, но в любом случае атрибут AssemblyGuid используется только для взаимодействия COM, поэтому, если вы создаете чистые библиотеки классов .NET или приложения и у вас есть ComVisible установите в false, потому что вы ничего не выставляете через COM, вам не о чем беспокоиться, и ничего больше не повлияет.

2 голосов
/ 29 августа 2011

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

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

Это зависит от того, для чего используются GUID. Некоторые повторные использования GUID, которые, как мне известно, могут вызвать серьезные (и в то же время незначительные) осложнения:

  1. GUID, доступный для COM любым способом. Если два COM-компонента с одинаковыми идентификаторами GUID будут когда-либо зарегистрированы, возникнут очень запутанные конфликты, которые почти невозможно решить.
  2. GUID, которые являются идентификаторами продукта в проектах установки. Не очень весело сталкиваться с ситуацией, когда другой продукт удаляется и / или иным образом мешает установке.
  3. Большинство идентификаторов GUID в SharePoint. (Типы столбцов, задания таймера и т. Д.)

В конце концов, я бы искал другие способы «повторного использования», если это возможно.

Удачного кодирования.

0 голосов
/ 29 августа 2011

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

Если вы продолжите использовать код copy-n-paste повторно, вы быстро найдетеобслуживание становится кошмаром.Намного лучше, чтобы повторно используемый код хранился в одном месте, чтобы при исправлении ошибки он исправлялся для всех программ, которые его используют.

...