visual-studio-2010 импорт - IIS не перечисляет веб-сайт, который соответствует URL-адресу запуска




сайта интернет (7)

Мне нужно отлаживать разработку сайта (ASP.NET MVC3, Razor, .NET 4, VS2010 SP1 (как администратор)) в IIS7 (Vista Home) и получение ошибки:

В IIS не указан веб-сайт, который соответствует URL-адресу запуска.

Чтобы проверить, нужно ли что-то делать с настройками приложения, я создал с нуля пустой новый веб-сайт ASP.NET MVC3, настроенный для IIS, созданный виртуальный каталог, запущенный с F5, и я отлично работал!

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

Это заставляет меня думать, что у меня проблема с конфигурацией !? Но что? Раньше я использовал IIS очень редко, поэтому мои знания как-то ограничены в этом направлении.

Любые намеки?


Answers

это сработало для меня, я обновил версию VS 2017 до версии 15.4.2, запустил администратор, удалил файлы папок документов (Visual Studio 2017) и перезапустил компьютер.


  1. Пуск >> Панель управления >> Нажмите «Программы»

  2. Включение и выключение функций Windows.

  3. В диалоговом окне «Контроль учетных записей пользователей» нажмите «Продолжить».

  4. Разверните Internet Information Services, разверните Инструменты веб-управления, а затем разверните IIS 6 Management Compatibility

  5. Установите флажок «Совместимость с конфигурацией IIS Metabase и IIS 6» и нажмите «ОК».


Я использую Visual Studio 2013 и устанавливаю привилегии администратора для ярлыка, поскольку @karim сказал, что не работал для меня, поэтому я попал в файл devnev.exe и установил права администратора на вкладке совместимости, и это сработало. Я не хотел добавлять это в качестве ответа, но я не мог назначить изображение, поэтому решил опубликовать его как новый ответ.

Надеюсь это поможет.


У меня была эта проблема на новой машине - работала, поскольку администратор не помог. Решением было сначала выполнить aspnet_regiis.exe -i . Он должен запускаться из командной строки, которая также была запущена как администратор. Обычно exe можно найти в C:\Windows\Microsoft.NET\Framework\v4.0.30319 - если вам нужно его изменить, вы, скорее всего, уже знаете, что менять.

Чтобы всегда запускать программу как администратор без щелчка правой кнопкой мыши, откройте вкладку совместимости свойств ярлыка VS и установите флажок «Запустить эту программу как администратор». Подробные инструкции см. На http://technet.microsoft.com/en-us/magazine/ff431742.aspx


Я ненавижу отвечать на мои вопросы: в своем вопросе я сказал, что я запускаю VS под учетной записью администратора. Это неправда !!!

Таким образом, решение (для меня) состояло в том, чтобы запустить VS2010 в качестве администратора (Пуск-> В меню Vista щелкните правой кнопкой мыши-> Запуск от имени администратора) ... так просто.

В качестве побочного эффекта: VS2010 позволяет мне также создавать виртуальные каталоги без каких-либо проблем (до этого я получил сообщения об ошибках, заявляя, что мне нужно вручную их настроить)


В интересах поисковиков я работал как администратор и все еще получил это, поэтому мне нужно было следить за этим блогом (очевидно, игнорируя некоторые вещи, связанные со старыми версиями .NET).

После этого, перестроил, и это сработало.

EDIT: (После комментариев)

Раздел 2 представляет особый интерес. Говорится:

Чтобы включить отладку F5, вам понадобятся как минимум следующие компоненты:

  • ASP.NET
  • Модуль проверки подлинности Windows (обеспечивает поддержку проверки подлинности Windows с помощью NTLM и Kerberous)
  • Уровень совместимости с метабазой (Обеспечивает поддержку устаревших API-интерфейсов IIS, используемых существующим программным обеспечением для управления IIS. Обратите внимание, что это необходимо для подключения к вашему приложению ASP.NET из Visual Studio, даже до попытки отладки.)

Установите их из панели управления> Программы> Включите и выключите функции Windows:

EDIT: (добавлены пути к функциям):

  • Информационные службы Интернета -> Услуги всемирной паутины -> Безопасность -> Аутентификация Windows
  • Информационные службы Интернета -> Инструменты веб-управления -> Совместимость с IIS 6 -> Конфигурируемость конфигурации IIS Metabase и IIS 6

Предупреждение: mysql_connect (): доступ запрещен для имени пользователя '@' host '

Это предупреждение появляется при подключении к серверу MySQL / MariaDB с недопустимыми или отсутствующими учетными данными (имя пользователя / пароль). Таким образом, это обычно не проблема с кодом, а проблема с конфигурацией сервера.

  • См. Страницу руководства на mysql_connect("localhost", "user", "pw")примерах.

  • Убедитесь, что вы действительно использовали a $usernameи $password.

    • Необычно, что вы получаете доступ без пароля - это то, что произошло, когда Warning: said (using password: NO).
    • Только локальный тестовый сервер обычно позволяет подключаться с именем пользователя root, без пароля и testименем базы данных.

    • Вы можете проверить, действительно ли они правильны с помощью клиента командной строки:
      mysql --user="username" --password="password" testdb

    • Имя пользователя и пароль чувствительны к регистру, а пробелы не игнорируются. Если ваш пароль содержит метасимволы, например $, избежать их или поместить пароль в одинарные кавычки .

    • Большинство хостинг-провайдеров предопределяют учетные записи mysql в отношении учетной записи пользователя unix (иногда просто префиксы или дополнительные числовые суффиксы). См. Документы для шаблона или документации, а также CPanel или любой другой интерфейс для установки пароля.

    • См. Руководство по MySQL по добавлению учетных записей пользователей с помощью командной строки. При подключении в качестве администратора вы можете выдать запрос, например:
      CREATE USER 'username'@'localhost' IDENTIFIED BY 'newpassword';

    • Или использовать Adminer или WorkBench или любой другой графический инструмент для создания, проверки или исправить данные учетной записи.

    • Если вы не можете исправить свои учетные данные, то запрос в интернет «пожалуйста, помогите» не будет иметь никакого эффекта. Только у вас и вашего хостинг-провайдера есть разрешения и достаточный доступ для диагностики и исправления.

  • Убедитесь, что вы можете связаться с сервером базы данных, используя имя хоста, указанное вашим провайдером:
    ping dbserver.hoster.example.net

    • Проверьте это с консоли SSH непосредственно на вашем веб-сервере. Тестирование с вашего локального клиента разработки на ваш хостинг-сервер редко имеет смысл.

    • Часто вам просто требуется имя сервера "localhost", которое обычно использует локальный именованный сокет, когда он доступен. В других случаях вы можете попробовать "127.0.0.1"как резерв.

    • Если ваш сервер MySQL / MariaDB прослушивает другой порт, используйте его "servername:3306".

    • Если это не удастся, значит, есть проблема с брандмауэром. (Вне темы, а не вопрос программирования. Невозможно дистанционное догадки).

  • При использовании констант, например, DB_USERили DB_PASSWORD, убедитесь, что они действительно defined .

    • Если вы получите a "Warning: Access defined for 'DB_USER'@'host'"и a "Notice: use of undefined constant 'DB_PASS'", тогда это ваша проблема.

    • Убедитесь, что ваш пример xy/db-config.phpдействительно включен и что-то еще.

  • Проверьте правильность установки GRANTразрешений .

    • Недостаточно иметь пару username+ password.

    • Каждая учетная запись MySQL / MariaDB может иметь прикрепленный набор разрешений.

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

    • Таким образом, предупреждение «Доступ запрещен» также может отображаться для mysql_queryвызовов, если у вас нет разрешений SELECTиз определенной таблицы или INSERT/ или UPDATE, что более важно, DELETEчто угодно.

    • Вы можете адаптировать разрешения учетной записи при подключении к каждому клиенту командной строки с помощью учетной записи администратора с запросом типа:
      GRANT ALL ON yourdb.* TO 'username'@'localhost';

  • Если сначала появляется предупреждение, Warning: mysql_query(): Access denied for user ''@'localhost'то у вас может быть пара с паролем / паролем, предварительно сконфигурированным php.ini .

    • Проверьте это mysql.default_user=и mysql.default_password=получите значимые значения.

    • Часто это конфигурация провайдера. Поэтому обратитесь за поддержкой к несоответствиям.

  • Найдите документацию вашего хостинг-провайдера:

  • Обратите внимание, что вы также можете исчерпать доступный пул подключений . Вы получите доступ к запрещенным предупреждениям для слишком большого количества параллельных подключений. (Вы должны исследовать настройку. Это проблема конфигурации сервера вне темы, а не вопрос программирования).

  • Ваша версия клиента libmysql может быть несовместима с сервером базы данных. Обычно MySQL и MariaDB-серверы можно получить с помощью PHP, скомпилированных в драйвере. Если у вас есть пользовательская настройка или устаревшая версия PHP, а также гораздо более новый сервер базы данных или значительно устаревший - тогда несоответствие версии может препятствовать подключению. (Нет, вам нужно исследовать себя. Никто не может угадать вашу настройку).

Дополнительные ссылки:

Кстати, вы, вероятно, больше не хотите использовать mysql_*функции . Новички часто мигрируют в mysqli , что, однако, так же утомительно. Вместо этого прочитайте PDO и подготовленные заявления .
$db = new PDO("mysql:host=localhost;dbname=testdb", "username", "password");







visual-studio-2010 debugging iis-7 windows-vista