Я надеюсь, что кто-нибудь сможет помочь нам с проблемой IIS / ASP.NET, которая у меня возникла.Мне было поручено перевести веб-сайт ASP.NET с IIS 6 на 32-разрядном сервере Windows 2003 на IIS 10 на 64-разрядном сервере Windows 2016.Я установил IIS и .NET 3.5 Framework, который включает в себя .NET 2.0 и 3.0, используя PowerShell со следующими функциями
$featureList = @('Web-Server','Web-CertProvider','Web-IP-Security','Web-Windows-Auth','Web-Asp-Net', 'NET-Framework-Features')
Install-WindowsFeature -Name $installFeatures -IncludeManagementTools -Source 'D:\sources\sxs' -Restart
Затем создал мой пул приложений и сайт следующим образом
New-WebAppPool -Name 'MyApp_AppPool'
Get-Item -Path 'IIS:\AppPools\MyApp_AppPool' | Set-ItemProperty -Name managedRuntimeVersion -Value 'v2.0'
New-Website -Name MyApp -ApplicationPool MyApp_AppPool -HostHeader myapp.domain.ca -IPAddress * -PhysicalPath 'E:\inetpub\wwwroot\MyApp' -Port 80
Кажется, что сайт загружает страницу входа, однако в IIS Manager, если я захожу в .NET Compilation, я получаю следующее сообщение об ошибке.Произошла ошибка при выполнении этой операции.
Details:
Filename: \\?\E:\inetpub\wwwroot\PEIWeb\web.config
Line number: 25
Error: Unrecognized element ‘compilers’
Вот эксперт по файлу web.config
<compilation defaultLanguage="vb" debug="true">
<compilers>
<compiler language="vb" type="Microsoft.VisualBasic.VBCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" extension=".VB" compilerOptions="/define:Debug=True /define:Trace=True /imports:Microsoft.VisualBasic,System,System.Collections,System.Configuration,System.Data,System.Drawing,System.Web,System.Web.UI,System.Web.UI.HtmlControls,System.Web.UI.WebControls" />
</compilers>
<assemblies>
<add assembly="Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
<add assembly="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
<add assembly="System.Data.OracleClient, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
</assemblies>
</compilation>
Я протестировал пул приложений с установленным режимом управляемого конвейераИнтегрированные и классические, а также имеют тестовую настройку Включить 32-битные приложения в True, но я все еще получаю ту же ошибку.
Я читаю в Интернете, что возможно получить этот тип ошибки, если IIS установлен перед установкой.NET 3.5 Framework, поэтому я удалил как с помощью диспетчера серверов, так и с установленным .NET 3.5 Framework, а также перезагрузил и установил IIS, но я все еще получаю ту же ошибку.
Я также попытался запустить aspnet_regiis.exe -iиз двух следующих папок, но снова я все еще получил ту же ошибку.
C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 C: \ Windows \ Microsoft.NET \ Framework64 \ v2.0.50727
Если у кого-нибудь есть какие-либо предложения по исправлению этой проблемы, я был бы очень признателен.
Спасибо