Недійсний шлях до програми


92

IIS7, Windows 7, 64 біт

Незалежно від того, що я роблю, я не можу додати додаток на веб-сайт.

Коли я "Тестую налаштування", я отримую "Недійсний шлях до програми".

Хтось здогадується, що я міг робити неправильно?

скріншот


Покажіть нам дещо більше. Додайте знімок екрана !!!

5
У мене така сама проблема: відкрийте IIS, виберіть існуючу веб-програму, перейдіть до "Основні налаштування", натисніть кнопку "Тестові налаштування", перегляньте помилку. Я не думаю, що знімок екрана повідомлення про помилку буде більш корисним. Хоча, можливо, це не найкраще місце для розміщення цього питання. Спробуйте serverfault.com
bzarah

будь ласка, погляньте на це питання та відповідь, я вважаю, що це буде корисно для вашої проблеми: stackoverflow.com/questions/2665578/…
Тамір

2
Можливо , правильна відповідь - stackoverflow.com/a/8826772/1193727
resnyanskiy

Відповіді:


48

Коли я отримав цю помилку, вона виявилася через налаштування безпеки. Коли я змінив властивість "Підключитися як" на адміністратора, повідомлення більше не надходило.

Очевидно, це не є гарним рішенням для виробничого середовища - мабуть, слід надати найменші привілеї, необхідні користувачеві IIS, який буде використовуватися за замовчуванням. Я оновлю цю відповідь, якщо дізнаюсь більше.


4
Повідомлення про помилку може бути помилкою (див. Мою відповідь) - "Зв'язок як" може бути не потрібним
Аарон Гоффман,

2
Виявляється, повідомлення - це лише помилка. Він працює з обліковим записом адміністратора, оскільки цей обліковий запис має всі дозволи на всі веб-каталоги. Якщо ви додасте свого адміністратора мережі до адміністратора, ви також не отримаєте цієї помилки, не використовуючи Connect As
Geddon


10

Врешті-решт я відстежив це до анонімних ідентифікаційних даних. Я не знаю, що змінилося, тому що раніше цей додаток працював, але в усякому разі, це те, що я зробив: Клацніть на Додаток -> Автентифікація. Переконайтеся, що анонімну автентифікацію ввімкнено (у моєму випадку це було), але також натисніть Редагувати ... та змініть ідентифікатор анонімного користувача на «Ідентифікація пулу додатків», а не «Конкретний користувач». Внесення цієї зміни в мене спрацювало.

З повагою.


1
Це не спрацювало для мене, але вимкнення анонімного доступу та дозволу автентифікації лише для Windows зробили свою справу. Потім вимкнення автентифікації Windows та ввімкнення Anonymous також спрацювали. Дуже дивно.
Шон Дойл

9

Перейдіть до своїх прив’язок HTTP у IIS (виберіть свій веб-сайт, а потім клацніть правою кнопкою миші на Прив’язки ...). Видаліть свій SSL та прив’язку HTTP. Повторно додайте їх.

Зазвичай це виправляє це для мене.


1
Це негайно вирішило проблему. (Ще одне типове, абсурдно марне повідомлення про помилку з неочевидним виправленням.)
Райан Руссон,

5

Спробуйте: Менеджер інформаційних служб Інтернету (IIS) -> Веб-сайт за замовчуванням -> Клацніть властивості Сторінки помилок та виберіть Детальні помилки


1
Детальна помилка привела мене в правильному напрямку. WCF - Помилка 500.21 Обробник "svc-Integrated" містить поганий модуль "ManagedPipelineHandler" у своєму списку модулів " Вирішено з aspnet_regiis -iru // From x64 .net framework directory
Справа 303

Я не зіткнувся з помилкою WCF, але команда aspnet_regiis вирішила проблему і для мене. Я також почав зі свіжого налаштування пулів додатків та програм у IIS.
MichaelHuelsen


3

Я також отримував цю помилку. Я виявив, що це тому, що я видалив пул додатків за замовчуванням " DefaultAppPool ". Повторне його створення усунуло проблему. Зводив мене з розуму кілька днів.

Ця помилка з'явиться, якщо веб-програма зіставлена ​​з неіснуючим пулом програм; або якщо цей пул додатків зупинено.


1
Так само це може статися, якщо призначений пул програм зупинено.
Річард

Річард, якщо це відповідь, то зробіть це окремою відповіддю замість коментаря до цієї.
Rocklan

3

У мене також була ця помилка.

Мій веб-сайт IIS має веб-сайт за замовчуванням із трьома (3) каталогами програм під ним.

Мені було правильно налаштовано кожен з 3 каталогів програм для використання .NET Framework v2.0 у пулах додатків.

Редагувати пул програм

Однак веб-сайт за замовчуванням ніколи не був налаштований. Я не вважав це необхідним, оскільки всі мої програми містяться в ньому.

Конфігурацією мого сервера IIS за замовчуванням є .NET Framework v4.0, тому я змінив це на .NET v2.0:

Змінити пул програм за замовчуванням

Після цього я більше не отримував те саме повідомлення про помилку.

Тепер я бачу це:

Результат

Сподіваюся, ця інформація допомагає іншим.


1

Я також отримував цю помилку. Проблемою для мене виявилося те, що у мене на машині було два окремих веб-сайти, і я не вказав, яка адреса на який веб-сайт переходить. Щоб вирішити цю проблему, перейдіть до Менеджера IIS -> Виберіть веб-сайт -> Прив'язки -> Додати ... -> Введіть ім'я хосту, яке потрібно вирішити для цього веб-сайту. Повторіть для будь-яких інших веб-сайтів на апараті.

HTH. Рік


1

У мене сьогодні була подібна проблема. Це було викликано скайпом! Нещодавнє оновлення skype повторно ввімкнуло порти 80 та 443 як альтернативи вхідним з'єднанням.

H / T: http://www.codeproject.com/Questions/549157/unableplustoplusstartplusdebuggingplusonplustheplu

Щоб вимкнути, перейдіть до Skype> Параметри> Додатково> З'єднання та зніміть прапорець біля пункту «Використовувати порти 80 та 443 як альтернативи вхідним з'єднанням»


0

Я досі не знайшов рішення, але знайду обхідний шлях.

Ви можете вручну змінити конфігурацію IIS в system32 \ intsrv \ config \ applicationHost.config. Просто створіть вручну (скопіюйте) розділ у <sites>та <location>.


0

Це спрацювало для мене. (до речі це не рекомендується.)

Для мого тестового додатка я створив новий пул програм і змінив його ідентифікатор на "NetworkService" .

введіть тут опис зображення

Докладніше про ідентифікатори пулу додатків тут:
http://www.iis.net/learn/manage/configuring-security/application-pool-identities та
http://www.iis.net/learn/get-started/planning-for- безпека / розуміння вбудованих облікових записів користувачів та груп в iis

Ви повинні переконатися, що "NetworkService" має права на фізичний шлях вашої програми.


0

навіть воно отримувало вищевказану помилку. я дізнався, що IIS не був зареєстрований на сервері.

реєстрація iis вирішила проблему.

Дякую,


0

У моєму випадку у мене був віртуальний каталог. Коли я звертався до основної служби WCF в основному каталозі, вона працювала нормально, але доступ до служби WCF у віртуальній директорії видавав помилку. У мене був такий код в web.config як для основного, так і для віртуального каталогу.

    <security>
        <requestFiltering>
            <denyQueryStringSequences>
                <add sequence=".." />
            </denyQueryStringSequences>
        </requestFiltering>
    </security>

видаливши з web.config у віртуальному каталозі це виправлено.


0

Мені вдалося виправити недолік, змінивши файл нижче:

C: \ Windows \ System32 \ inetsrv \ config \ applicationHost.config

В:

<application path="/" applicationPool="ASP.NET v4.0">
    <virtualDirectory path="/" physicalPath="C:\inetpub\wwwroot\Bonobo.Git.Server" />
</application>
<application path="/Bonobo.Git.Server" applicationPool="ASP.NET v4.0">
    <virtualDirectory path="/" physicalPath="C:\inetpub\wwwroot\Bonobo.Git.Server" />
</application>

Для:

<application path="/">
    <virtualDirectory path="/" physicalPath="C:\inetpub\wwwroot\" />
</application>
<application path="/Bonobo.Git.Server" applicationPool="ASP.NET v4.0">
    <virtualDirectory path="/" physicalPath="C:\inetpub\wwwroot\Bonobo.Git.Server" />
</application>
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.