ASP.NET переименование Пространства имен MVC

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

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

Сказав, что вы можете анализировать подмножества html, если вложенных тегов не существует. Итак, до тех пор, пока что-либо между и не является этим тегом, это будет работать:

preg_match("/<([\w]+)[^>]*>(.*?)<\/\1>/", $subject, $matches);
$matches = array ( [0] => full matched string [1] => tag name [2] => tag content )

. Лучше всего использовать синтаксический анализатор, например собственный DOMDocument, для загрузки вашего html, затем выберите свой тег и получить внутренний html, который может выглядеть примерно так:

$obj = new DOMDocument();
$obj -> load($html);
$obj -> getElementByTagName('el');
$value = $obj -> nodeValue();

И так как это правильный парсер, он сможет обрабатывать теги вложенности и т. д.

16
задан Daniel A. White 5 February 2009 в 18:05
поделиться

3 ответа

Вы попытались восстановить (щелчок правой кнопкой по проекту, и выбор "Восстанавливает")? Также проверьте мусорное ведро, чтобы удостовериться, что только блок с новым именем там. Кроме того, проверьте свойства проекта дважды, чтобы проверить, что название блока производится. Если Вы не уверены, каково название произведенного блока, удалите весь dlls из мусорного ведра и восстановите.

33
ответ дан 30 November 2019 в 15:44
поделиться

Вам необходимо проверить папку / bin в вашем веб-проекте MVC и либо удалить все внутри, и выполнить новую сборку, либо удалить старую DLL (MyProjectName.dll).

Среда выполнения ASP.Net MVC использует отражение, чтобы определить, к какому контроллеру должен быть передан запрос на основе информации о маршрутизации, и обнаруживает два контроллера, которые соответствуют критериям (имеют одинаковое имя), и каждый находится в разных сборка. Вот почему вы получаете исключение.

Выполнение Очистить , похоже, не очищает папку bin. Поэтому вам придется удалить файл вручную.

8
ответ дан 30 November 2019 в 15:44
поделиться

Дважды щелкните или щелкните правой кнопкой мыши MyProject и откройте. В настройках приложения измените имя сборки и корневое пространство имен в соответствии с именем вашего переименованного проекта.

2
ответ дан 30 November 2019 в 15:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: