Использование пространств имен - PullRequest
0 голосов
/ 10 ноября 2010

У меня есть «Веб-проект» в VS. Файловая структура

- AdminCms
  - Sections
    - CmsAuthors
- App_Code
  - Business Logics
    - Common
       - BuilderStrings.cs
    - DataAccess
      -CmsModel.edmx

Когда я собираю VS проекта в BIN, создаю файл Cms.dll.

В файле "BuilderStrings.cs" я использую:

namespace Cms.App_Code.BusinessLogics.Common

Использование этого кода из папки "CmsAuthors"

using Cms.App_Code.BusinessLogics.Common;

Пока все работает нормально.

Теперь, для моего понимания, я смогу назвать пространство имен так, как я хочу, например:

namescape Wdg.Cms.Common

так что если я использую:

using Wdg.Cms.Common;

Скрипт должен работать просто отлично. Вместо этого я получаю ошибку «Отсутствует ссылка на сборку».

  • Что не так?
  • Это namespe своего рода путь, как получить класс?
  • Почему я не могу использовать другое имя?

Спасибо, ребята, за помощь!

Ответы [ 3 ]

1 голос
/ 10 ноября 2010

Пространства имен должны быть определены с использованием соглашений, в соответствии с Microsoft " Общее правило для именования пространств имен заключается в том, чтобы использовать имя компании, за которым следует название технологии, а также, при необходимости, функцию и дизайн следующим образом : CompanyName.TechnologyName [ .Feature] [. Дизайн] ». Посмотрите здесь: http://msdn.microsoft.com/en-us/library/893ke618%28VS.71%29.aspx

http://msdn.microsoft.com/library/ms229002

http://10rem.net/articles/net-naming-conventions-and-programming-standards---best-practices

1 голос
/ 10 ноября 2010

Это прекрасно. Вы сохранили и перестроили свой проект?

** Я впервые получил ошибку, так как не сохранил свои изменения в коде приложения.

  1. Здесь все в порядке.
  2. Основная цель наличия пространства имен - избежать конфликта имен классов. Например, у вас есть StringBuilder.cs в App_Code / Admin и App_Code / Common, вы можете различать их, используя пространство имен: Wdg.Cms.Common.StringBuilder и Wdg.Cms.Admin.StringBuilder
  3. Вы можете использовать другое имя.
0 голосов
/ 10 ноября 2010

Вы должны держать свои пространства имен одинаковыми на протяжении всего решения.Вы использовали Cms.App_Code.BusinessLogics.Common в нескольких местах, поэтому продолжайте использовать его во всех местах.

Ваше использование Wdg.Cms.Common может быть причиной вашей ошибки Missing Assembly.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...