Я пытаюсь настроить CI и у меня возникают проблемы с созданным файлом web.config после моего развертывания.
Мой главный вопрос - что мне нужно сделать, чтобы мой проект в Visual Studio или мой сервер исправили эту проблему web.config.
Шаги, которые я сделал.
- Я создал ASP. NET Базовый проект веб-приложения в Visual studio. (Он запускается при отладке с использованием IIS Express)
- Я подключил его к репо в Azure DevOps.
- Использовал пул агентов по умолчанию для создания веб-артефакта
- Настройте локального агента на сервере, на котором будет размещаться сайт.
- Пробежал по трубопроводу и прошел.
- Проверенный сайт развернут.
- Попробовал запустить сайт и получил
500.19 Error
В Visual Studio я могу использовать IIS Express для запуска localhost сайта и все работает.
На моем хост-компьютере написано, что web.config плохо настроен.
HTTP Error 500.19 - Internal Server Error
The requested page cannot be accessed because the related configuration data for the page is invalid.
Detailed Error Information:
Module
IIS Web Core
Notification
Unknown
Handler
Not yet determined
Error Code
0x8007000d
Config Error
Config File
\\?\D:\Websites\[My Site Name]\web.config
Requested URL
http://[Some IP]:80/
Physical Path
Logon Method
Not yet determined
Logon User
Not yet determined
Сгенерированный web.config
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<location path="." inheritInChildApplications="false">
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath="dotnet" arguments=".\Web Content.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="inprocess" />
</system.webServer>
</location>
</configuration>
<!--ProjectGuid: [A Guid]-->
Использование 'https://elmah.io/tools/configvalidator/' говорит мне, что (8,125) The 'hostingModel' attribute is invalid - The value 'inprocess' is invalid according to its datatype 'String' - The Enumeration constraint failed.
Предыдущий версия сайта работала (до подключения к ней моего КИ). Это был простой сайт с только страницей указателя, в нем был следующий файл web.config.
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<defaultDocument>
<files>
<clear />
<add value="index.html" />
<add value="Default.asp" />
<add value="iisstart.htm" />
</files>
</defaultDocument>
</system.webServer>
</configuration>
Мой главный вопрос: что мне нужно сделать, чтобы исправить мой проект в Visual Studio или мой сервер? эта проблема web.config.
Сборка - YAML
trigger:
- master
pool:
vmImage: 'windows-latest'
variables:
solution: '**/*.sln'
buildPlatform: 'Any CPU'
buildConfiguration: 'Release'
steps:
- task: NuGetToolInstaller@1
- task: NuGetCommand@2
inputs:
restoreSolution: '$(solution)'
- task: VSBuild@1
inputs:
solution: '$(solution)'
msbuildArgs: '/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.artifactStagingDirectory)"'
platform: '$(buildPlatform)'
configuration: '$(buildConfiguration)'
- task: VSTest@2
inputs:
platform: '$(buildPlatform)'
configuration: '$(buildConfiguration)'
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
ArtifactName: 'ResearchWebsite'
publishLocation: 'Container'
Развертывание - YAML
trigger:
- master
pool: Default
variables:
solution: '**/*.sln'
buildPlatform: 'Any CPU'
buildConfiguration: 'Release'
steps:
- task: DownloadPipelineArtifact@2
inputs:
buildType: 'specific'
project: '[Some GUID]'
definition: '8'
buildVersionToDownload: 'latest'
artifactName: 'ResearchWebsite'
targetPath: '$(System.ArtifactsDirectory)'
- task: IISWebAppDeploymentOnMachineGroup@0
inputs:
WebSiteName: '[Site Name]'
Package: '$(System.ArtifactsDirectory)\**\*.zip'