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

本文介绍了如何使用Visual Studio将应用程序发布到IIS服务器,并提供了错误排查步骤。包括检查官方教程、配置的准确性,如服务器、网站名、用户名和密码,确保站点文件夹权限正确,开放防火墙的8172端口,以及验证Web Deploy服务状态。同时,分享了IISProfile.pubxml配置文件的常见设置链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

惑豁猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值