1、官方教程
2、错误排查
如果是请求不通,检测配置项里的服务器、网站名、用记名、密码是否有误,特别是网站名,我遇到的基本都是这个问题。
如果使用IIS账号,请检查站点文件夹的Users用户组是否开通完全控制权限。
请检测IP端口是否加入防火墙及安全组,放行8172端口。
https://learn.microsoft.com/zh-cn/iis/publish/troubleshooting-web-deploy/web-deploy-error-codes
3、检查服务是否正常启动
net start wmsvc & net start msdepsvc
4、IISProfile.pubxml常用配置
<PropertyGroup>
<!--设置环境-->
<EnvironmentName>Staging</EnvironmentName>
<!--使用不受信任的证书发布到服务器-->
<AllowUntrustedCertificate>True</AllowUntrustedCertificate>
<!--禁用默认setACL行为-->
<IncludeSetACLProviderOnDestination>False</IncludeSetACLProviderOnDestination>
</PropertyGroup>
<ItemGroup>
<!--
glob 模式匹配的文件夹和文件:
**\*.config(例如,web.config)
**\*.json(例如 appsettings.json)
wwwroot\**
-->
<!--过滤文件,将从部署站点删除目标-->
<Content Update="wwwroot/*" CopyToPublishDirectory="Never" />
<Content Update="appsettings.json" CopyToPublishDirectory="Never" />
<!--过滤目录,不会从部署站点删除目标-->
<MsDeploySkipRules Include="CustomSkipFolder">
<ObjectName>dirPath</ObjectName>
<AbsolutePath>wwwroot\\content</AbsolutePath>
</MsDeploySkipRules>
<!--过滤文件,不会从部署站点删除目标-->
<MsDeploySkipRules Include="CustomSkipFile">
<ObjectName>filePath</ObjectName>
<AbsolutePath>Views\\Home\\About1.cshtml</AbsolutePath>
</MsDeploySkipRules>
<MsDeploySkipRules Include="CustomSkipFile">
<ObjectName>filePath</ObjectName>
<AbsolutePath>Views\\Home\\About2.cshtml</AbsolutePath>
</MsDeploySkipRules>
<!--包含文件,将项目之外的文件复制到部署站点-->
<ResolvedFileToPublish Include="..\ReadMe2.md">
<RelativePath>wwwroot\ReadMe2.md</RelativePath>
</ResolvedFileToPublish>
<!--通过 Never 或 PreserveNewest 的内部文本包含 <CopyToPublishDirectory>覆盖默认行为-->
<ResolvedFileToPublish Include="..\ReadMe2.md">
<RelativePath>wwwroot\ReadMe2.md</RelativePath>
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
</ResolvedFileToPublish>
</ItemGroup>
本文介绍了如何使用Visual Studio将应用程序发布到IIS服务器,并提供了错误排查步骤。包括检查官方教程、配置的准确性,如服务器、网站名、用户名和密码,确保站点文件夹权限正确,开放防火墙的8172端口,以及验证Web Deploy服务状态。同时,分享了IISProfile.pubxml配置文件的常见设置链接。
1053

被折叠的 条评论
为什么被折叠?



