使用批处理(.bat)文件一键编译 .NET CORE 网站并发布至 IIS

简介: 向 IIS 发布网站的传统方式是:开发人员在开发机上对项目源代码编译并将生成的程序集复制到服务器上的网站目录中.在 .NET CORE 时代开启后,复制操作很容易因为文件占用而失败.

向 IIS 发布网站的传统方式是:开发人员在开发机上对项目源代码编译并将生成的程序集复制到服务器上的网站目录中.在 .NET CORE 时代开启后,复制操作很容易因为文件占用而失败.

在经历了一天之内多次复制发布的繁琐操作之后,笔者测试并实现了一个一键发布的流程,该流程简单易实施,仅需两个批处理文件即可完成:

update.bat

源代码管理器已经是软件开发过程中的标配,如果你和笔者一样使用 git 作为源代码管理器,使用 gitee 作为源代码服务器,那么只需在部署服务器上安装 git 环境,生成密钥并添加到仓库的“部署密钥”中便可以直接在服务器上拉取源码,update.bat 文件只需包含拉取命令即可:

git pull

publish.bat

有了源代码,就可以通过 dotnet build 命令生成项目。生成成功之后,先将网站的“应用程序池”关闭然后再复制生成好的文件到网站目录,最后重新启动“应用程序池”。

假设网站目录为 D:\Website\www.coderbusy.com 应用程序池名称为 www.coderbusy.com 项目目录为 src\website 则一个完整的 publish.bat 文件内容如下:

    dotnet publish src\website -c Release -o build\website
    %SYSTEMROOT%\System32\inetsrv\appcmd stop apppool /apppool.name:"www.coderbusy.com" 
    xcopy build\website "D:\Website\www.coderbusy.com" /sey
    %SYSTEMROOT%\System32\inetsrv\appcmd start apppool /apppool.name:"www.coderbusy.com"
    pause
目录
相关文章
|
1月前
|
C# Windows
.NET开源免费的Windows快速文件搜索和应用程序启动器
今天大姚给大家分享一款.NET开源(MIT License)、免费、功能强大的Windows快速文件搜索和应用程序启动器:Flow Launcher。
|
4月前
IIS上实现网站朝https://www的自动跳转
我们在做网站时时常有网站朝https://www的自动跳转的需求,以便在不输入www.子域名时也可以自动跳转到我们的当前站点,本文将介绍实现网站朝https://www的自动跳转的操作。
80 0
IIS上实现网站朝https://www的自动跳转
|
4月前
|
程序员 网络安全 PHP
IIS使用PHPManager发布PHP网站
PHPManager是一款用于IIS(Internet Information Services)的工具,旨在简化在Windows服务器上发布PHP网站的过程。通过PHPManager,用户可以轻松管理PHP版本、配置PHP设置以及进行PHP应用程序的部署。这个工具提供了直观的用户界面,使用户能够更方便地与IIS服务器进行交互,而不需要深入了解服务器配置的技术细节。PHPManager的使用使得在IIS环境中托管和维护PHP网站变得更加便捷,提高了网站的部署效率和管理灵活性。
37 0
|
4月前
|
网络安全 PHP 开发者
IIS服务器发布PHP网站
IIS服务器,相信开发者都不会陌生,它的英文全称是Internet Information Services,是由微软公司提供的基于运行Microsoft Windows的互联网基本服务,常用于Windows系统的Web项目部署,本篇以PHP项目为例,讲解如何使用IIS完成PHP项目的发布。
57 0
|
23天前
|
网络协议 安全 文件存储
Windows如何使用IIS服务搭建本地WebDAV网站并实现远程管理储存文件
Windows如何使用IIS服务搭建本地WebDAV网站并实现远程管理储存文件
|
4月前
|
Java PHP 开发工具
支付宝记---电脑网站支付(.NET)
支付宝记---电脑网站支付(.NET)
42 1
|
4月前
|
前端开发 PHP
IIS发布PHP网站常见错误:字体库404
笔者最近在用IIS发布php网站时,前端出现了字体库文件404的错误,关于这个问题,尝试了很多办法,最终发现是字体文件类型不被IIS识别导致的,解决方法是在config文件中添加映射配置,下面我就来详细介绍下。
36 5
|
6月前
发布在IIS的apk或者ipa文件无法访问
发布在IIS的apk或者ipa文件无法访问
75 0
|
7月前
|
对象存储
.net core 阿里云接口之拷贝文件
紧接上文, 1)[.net core 阿里云接口之获取临时访问凭证](https://developer.aliyun.com/article/1363447?spm=a2c6h.12873639.article-detail.7.2b0e5b1cpeWbZ5 ".net core 阿里云接口之获取临时访问凭证") 2)[.net core 阿里云接口之将指定的OSS文件下载到流](https://developer.aliyun.com/article/1363886 ".net core 阿里云接口之将指定的OSS文件下载到流") 本文继续阿里云接口调用,将指定的OSS文件下载到流。
37 0
|
7月前
|
C#
.net core 从(本地)服务器获取APK文件并解析APK信息
## 1、apk解析除了使用客户端利用aapt.exe、unzip.exe开发客户端解析外,还可以直接利用服务进行解析 ```csharp /// <summary> /// 从本地服务器获取APK文件并解析APK信息 /// </summary> /// <param name="fileName">APK文件的完整路径</param> /// <returns></returns> [HttpPost, HttpGet, HttpOptions, CorsOptions] public IActionResult DecodeAPK(string fileName) { if(fi
34 0