打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
(超详细).Net项目一键发布到IIS

文章描述:在此之前,我一直习惯使用文件夹的发布方式,即在项目上右键->发布->文件夹。然后设置其相关属性,等vs发布完毕之后,自己再复制到服务器,很多时候还得需要先停止服务才能复制上去,感觉就很麻烦(虽然用习惯了);其实通过ftp的方式或许也可以,只是我不太喜欢,因为还得先去服务器去配置ftp等相关服务,而后这个ftp除了做这个好像也没其他用,再者,我并不能确定是否可以不手动停止服务就能直接发布上去(我从一开始就排斥,所以没试过,有兴趣的可以自己试下)。


开发环境:.NET6

开发工具: Visual Studio 2022

实现步骤:

  1. 首先要确保IIS安装了管理脚本和工具

  2. 下载web部署包:

https://download.visualstudio.microsoft.com/download/pr/e1828da1-907a-46fe-a3cf-f3b9ea1c485c/035860f3c0d2bab0458e634685648385/webdeploy_amd64_en-us.msi

3. 安装的时候选择完全安装,好像是最后一个选项。这个很重要

4. 等安装完成后,会在IIS右键菜单上显示部署选项

  1. 点击部署->启用Web Deploy发布,这里设置其可以发布的用户(默认就是你当前使用的用户,密码也是你远程的密码)

  2. 输入sql字符串这里,由于我发布的是.net6 webapi,sql字符串是配置到appsettings.json中的,在这里识别不到,不过也没关系,因为在iis发布设置的时候,是可以识别到并替换的

  3. 后面两个设置也就不用管了,点设置把文件保存就ok了

  4. 把文件复制到本地,然后用记事本编辑一下,内容大致如下,记得把注释去掉

<?xml version="1.0" encoding="utf-8"?>
<publishData>
<publishProfile
<!--这里xxx换成服务器的IP-->
publishUrl="https://xxx:8172/msdeploy.axd"
<!--这里是iis需要部署的网站名称-->
msdeploySite="Default Web Site"
<!--这里是发布完成后打开的网址,可测试用-->
destinationAppUrl="http://xxx:80/"
<!--mysql连接字符串-->
mySQLDBConnectionString=""
<!--sqlserver连接字符串-->
SQLServerDBConnectionString=""
profileName="Default Settings"
publishMethod="MSDeploy"
userName="xxx\Administrator" />
</publishData>
  1. 回到vs2022,在WebApi项目上右键->发布->导入配置文件->我们刚刚编辑的文件

  2. 导入成功后,在这个页面点击显示所有设置

  3. 在连接选项中,将服务器密码写入并选择保存密码

  4. 在设置选项中,勾选在运行时使用此连接字符串,写入正式库的连接字符串就会在发布的时候自动替换了,其他设置可根据需要填写并保存。

  5. 回到VS2022,在头部可以看到刚刚保存的配置,直接点击发布按钮即可完成发布,如果没有可以自己在头部空白部分右键找出你需要的选项。也可以通过项目右键的方式进行发布。

  6. 自此就完成了一键发布的配置,以后发布就爽快多了(建议个人或者小公司使用,大公司一般会有自己比较严格的发布流程)

相关资料:

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

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
在FTP服务器中创建普通隔离用户
windows server2008 R2搭建ftp服务器
IIS 500 内部服务器错误!! - .:: 未央 ::.--blog
用WIN2008快速搭建网站
Win2003服务器IIS下FTP安装图解(虚拟目录)
【一起学UniGUI】
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服