Visual Studio 2015 IIS Express не может отлаживать проект asp.net 4

Я работал над двумя проектами с использованием VS 2013. Недавно мне пришлось переключиться на VS 2015 и открыть эти проекты там же. Один из двух проектов, представляющий собой проект версии платформы .NET 4.5, работает нормально, и я могу выполнять отладку в IIS Express. Однако второй проект - проект .net 4.0 - я не могу отлаживать с помощью IIS Express. Когда я пытаюсь отладить, я получаю ошибку 500

Раздел конфигурации 'system.web.extensions' не может быть прочитан, поскольку в нем отсутствует объявление раздела.

Мне удалось устранить эту конкретную ошибку с помощью этой ссылки на stackoverflow Раздел конфигурации 'system.web.extensions' не может быть прочитан, поскольку в нем отсутствует объявление раздела

Но все же я не смог отладить, так как получил еще одну ошибку

Нераспознанный атрибут targetFramework в этой строке: в web.config

Я не могу найти решение этой проблемы. есть статьи, в которых предлагаются решения для IIS, но не для IIS Express. Я не могу понять, почему это происходит, поскольку другой проект (.net 4.5) работает нормально, поэтому это проблема не с конфигурацией IIS Express framework, а с проектом. Я не вносил никаких изменений в код при переходе от vs 2013 к vs 2015. Что я могу сделать для отладки кода с помощью IIS Express в vs2015. желательно не вносить изменения в web.config, так как он отлично работает на производственном сервере.


person maX    schedule 31.10.2017    source источник


Ответы (2)


Сначала вы удалите targetFramework из строки ошибки в web.config`

Конфигурация IIS Express хранится в файле XML для каждого решения. В этом файле вы можете найти раздел <applicationPools> и установить их атрибут managedRuntimeVersion.

Этот файл находится в вашем "$ (SolutionFolder) \. Vs \ applicationhost.config". Обратите внимание, что папка «.vs» по умолчанию скрыта. Файловая структура аналогична этой:

<configuration>
.
.
.

<system.applicationHost>

    <applicationPools>
        <add name="Clr4IntegratedAppPool" managedRuntimeVersion="v4.0" managedPipelineMode="Integrated" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" />
        <add name="Clr4ClassicAppPool" managedRuntimeVersion="v4.0" managedPipelineMode="Classic" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" />
        <add name="Clr2IntegratedAppPool" managedRuntimeVersion="v2.0" managedPipelineMode="Integrated" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" />
        <add name="Clr2ClassicAppPool" managedRuntimeVersion="v2.0" managedPipelineMode="Classic" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" />
        <add name="UnmanagedClassicAppPool" managedRuntimeVersion="" managedPipelineMode="Classic" autoStart="true" />
        <applicationPoolDefaults managedRuntimeLoader="v4.0">
            <processModel />
        </applicationPoolDefaults>
    </applicationPools>

   <sites>
        <site name="WebSite1" id="1" serverAutoStart="true">
            <application path="/" applicationPool="Clr4IntegratedAppPool">
                <virtualDirectory path="/" physicalPath="%IIS_SITES_HOME%\WebSite1" />
            </application>
            <bindings>
                <binding protocol="http" bindingInformation=":8080:localhost" />
            </bindings>
        </site>

.
.
.
</configuration>
person Bozhidar Stoyneff    schedule 14.11.2017

Откройте свой IIS и измените настройку пула приложений.

Выберите правильную версию .NET Framework, как показано на рисунке ниже:

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

person Salomon Zhang    schedule 10.11.2017