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>