2014-09-11 2 views
3

Таким образом, есть много вопросов вокруг преимуществ сильно именования сборки .Net, такие как это один Why use strong named assemblies?Должен ли я назвать все сборки?

Преимущества звучат великолепно, так почему бы мне не сильно назвать каждый проект я делаю?

В чем преимущества НЕ ИСПОЛЬЗОВАНИЯ сборки, и что делать по умолчанию при создании новых проектов?

ответ

6

Сильное именование сборки требует времени (сортировки) и не полезно для проекта, который вы не планируете выходить на рынок/с открытым исходным кодом. Есть некоторые последствия, когда вы не сильно называете ваша сборка, например, вы не можете добавить ее в GAC.

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

+0

Я согласен со всем, кроме того, что это занимает много времени. Я имею в виду, это так. Но если вы делаете это через VS, требуется около 4 щелчков мыши. – MasterMastic

+0

Согласитесь с MasterMastic, потребовалось несколько секунд, чтобы подписать сборку (без пароля) с созданным файлом snk. НО Я не прошу о преимуществах этого, а не делать это. В каких ситуациях я буду лучше НЕ сильно называть сборку, что бы предложить, что сильно подписанная сборка не может? – userSteve

+0

Спасибо за ваше редактирование CodingChief «возможная польза». Наконец, это дает мне одну реальную выгоду, которую я не нашел в другом месте. Но тогда, если бы все сборки были сильно названы в первую очередь, это не было проблемой. Любые другие? – userSteve

0

Сильные названием сборки полезны в следующих случаях:

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

  2. Приложение должно иметь доступ к различным версиям одной и той же сборки. Это означает, что вам нужны разные версии сборки для загрузки бок о бок в одном домене приложения без конфликтов. Например, если в сборках, имеющих одно и то же простое имя, существуют разные расширения API, сильное имя обеспечивает уникальный идентификатор для каждой версии сборки.

  3. Вы не хотите отрицательно влиять на производительность приложений, используя свою сборку, поэтому хотите, чтобы сборка была нейтральной для домена. Для этого требуется сильное имя, потому что в глобальном кэше сборок должна быть установлена ​​сборка, нейтральная по доменам.

  4. Если вы хотите централизовать обслуживание своего приложения, применяя политику издателя, что означает, что сборка должна быть установлена ​​в глобальном кэше сборок.

Source

+1

Некоторые серьезные причины для сильного наименования, но я по уважительным причинам НЕ категорически не назвал – userSteve

+0

Я не уверен, есть ли веские причины для слабого названия сборок. Честно говоря, вышеупомянутые 4 очка суммируют все это. Если вы хотите что-либо из вышеперечисленного, тогда строго подпишите их, иначе держите их слабо без знака. @ user1722957 –

+0

Итак, ответ на исходный вопрос: «Да»? Если бы я привык к тому, чтобы всегда сильно называть все мои проекты, тогда никакого вреда не может быть? – userSteve

Смежные вопросы