Visual Studio发布到IIS及Web Deploy配置部署

1、官方教程

https://learn.microsoft.com/zh-cn/visualstudio/deployment/tutorial-import-publish-settings-iis?view=vs-2022

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>

 

 

 https://learn.microsoft.com/zh-cn/aspnet/core/host-and-deploy/visual-studio-publish-profiles?view=aspnetcore-7.0

posted @ 2022-09-23 13:31  anech  阅读(718)  评论(0编辑  收藏  举报