C# Web配置在发布HTTP错误500.19后引发错误
我使用ASP.NET Core 2.1开发了一个项目,遇到了一个问题,C# Web配置在发布HTTP错误500.19后引发错误,c#,iis,asp.net-core,asp.net-core-2.1,C#,Iis,Asp.net Core,Asp.net Core 2.1,我使用ASP.NET Core 2.1开发了一个项目,遇到了一个问题,web.config在另一台机器上发布时复制了system.webServer Web.Config <?xml version="1.0" encoding="utf-8"?> <configuration> <location path="." inheritInChildApplications="false"> <system.webServer>
web.config
在另一台机器上发布时复制了system.webServer
Web.Config
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<location path="." inheritInChildApplications="false">
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath=".\Project.exe" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" />
</system.webServer>
</location>
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath=".\Project.exe" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" />
</system.webServer>
</configuration>
配置错误
已定义配置节“system.webServer/aspNetCore”。每个配置文件只能显示一次节。有关例外情况,请参阅帮助主题
发布个人资料
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<WebPublishMethod>MSDeploy</WebPublishMethod>
<LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
<LastUsedPlatform>Any CPU</LastUsedPlatform>
<SiteUrlToLaunchAfterPublish />
<LaunchSiteAfterPublish>True</LaunchSiteAfterPublish>
<ExcludeApp_Data>False</ExcludeApp_Data>
<TargetFramework>netcoreapp2.1</TargetFramework>
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
<ProjectGuid>GUID</ProjectGuid>
<SelfContained>true</SelfContained>
<_IsPortable>false</_IsPortable>
<MSDeployServiceURL>RemoteMachine</MSDeployServiceURL>
<DeployIisAppPath>Project</DeployIisAppPath>
<RemoteSitePhysicalPath />
<SkipExtraFilesOnServer>False</SkipExtraFilesOnServer>
<MSDeployPublishMethod>WMSVC</MSDeployPublishMethod>
<EnableMSDeployBackup>True</EnableMSDeployBackup>
<UserName />
<_SavePWD>False</_SavePWD>
</PropertyGroup>
</Project>
MSDeploy
释放
任何CPU
真的
假的
netcoreapp2.1
win-x64
指南
真的
假的
遥控器
项目
假的
WMSVC
真的
假的
如果我直接从VisualStudio发布,它工作正常,
web.config
不会更改,但我使用TeamCity来构建和发布项目。显然,删除额外的system.webServer
会修复它,但我确信这是一个根本原因。我是不是错过了什么 作为服务器的Iis及其运行的应用程序(站点)可以各自具有自己的配置,并且它们在从根(计算机级别)到tip(站点/for/虚拟应用程序)的层次结构中加载。如果在机器配置中定义了一个部分,则该部分对所有站点都是通用的。如果站点也定义了它,则可能会出现配置错误。根据其他站点是否需要,从任意配置中删除该节。有一种方法可以让iis列出它为特定站点加载的所有web配置,但我忘了如何显示it@prd是的,我知道这将修复它,如前所述,但这意味着每次我从TeamCity发布时,我都必须删除该元素。我想弄清楚它为什么要复制它,这样我就可以解决问题,而不必手动删除它。您可以在部署期间忽略web.config
文件,以避免issue@Saif我该怎么做呢?城市队一定是从什么地方得到了它的配置-那它在哪里?。也许它会进行web配置转换,您可以使用此机制从发布配置中删除该节,但保留其他节,并可能保留该节用于调试配置