пространство имен .. уже содержит определение для - PullRequest
0 голосов
/ 11 января 2019

Почему я получаю это исключение, хотя у меня определено только 1 OnUnzipHttpTriggered?

enter image description here

Я сделал глобальный поиск:

enter image description here

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

enter image description here

Что я пробовал:

  1. перестроен
  2. перезапущена визуальная студия
  3. проверил код и получил последний

Почему я получаю это исключение?

Вот моя информация о VS:

enter image description here

Ответы [ 2 ]

0 голосов
/ 11 января 2019

Некоторые другие способы найти проблему:

  1. Создайте диаграмму классов и изучите ее
  2. закомментируйте этот класс и изучите код для любых других ссылок
  3. Используйте инструмент поиска, чтобы найти этот символ в вашей кодовой базе. Я пользуюсь AstroGrep.

У вас также может быть скомпилированная dll (добавленная ссылка) с тем же именем метода расширения. В этом случае вам придется называть свой класс чем-то другим.

0 голосов
/ 11 января 2019

Посмотрите на первый результат в вашем поиске. Довольно ясно сказано, что DestinationFileNamer.cs имеет пространство имен AlidadeUtilities.OnUnzipHttpTriggered.Extensions. Вот в чем проблема, потому что оба класса и (часть) пространства имен этого файла - AlidadeUtilities.OnUnzipHttpTriggered.

У класса не может быть того же имени, что и у пространства имен в том же пространстве имен, что и у класса.

Кстати, просто совет: все, что начинается с Вкл. , звучит ОЧЕНЬ похоже на обработчик событий. Пожалуйста, пересмотрите имя.

РЕДАКТИРОВАТЬ:

Полное имя создаваемого вами класса:
AlidadeUtilities.OnUnzipHttpTriggered

Пространство имен класса DestinationFileNamer таково: AlidadeUtilities.OnUnzipHttpTriggered .Extensions

Ваша проблема в том, что эти две жирные части одинаковы .

Решение:
Решением будет либо переименовать класс OnUnzipHttpTriggered, либо переименовать пространство имен AlidadeUtilities.OnUnzipHttpTriggered**.Extensions.

...