简单记录一下,如何在IIS下部署Asp.Net Core Web Application + Angular app的项目。
环境:IIS 10, Asp.Net Core 2.0, Angular 4 CLI
步骤:
-
确认IIS已经安装了AspNetCoreModule
-
新建一个站点,并配置该站点的应用程序池为无托管类型
- 新建Asp.Net Core Web Application项目(默认创建,无需任何修改)。
- 在Startup.cs中,添加如下代码:
public void Configure(IApplicationBuilder app, IHostingEnvironment env) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } app.UseDefaultFiles(new DefaultFilesOptions { DefaultFileNames = new List<string> { "" }, RequestPath = new PathString("") }); app.UseStaticFiles(); app.UseMvc(); }
- 新建Angular 4 CLI项目
-
(可选) 修改angular-cli.json的outDir配置:
-
发布Angular 4 CLI项目。发布后的代码会自动生成到wwwroot文件夹中。
ng build -env=prod
- 将Angular 4 CLI中的wwwroot覆盖Asp.Net Core项目中的(站点根目录下的)wwwroot同名文件夹。
- 发布Asp.Net Core项目。
donet publish -c release
- 将IIS站点资源文件路径指向Asp.Net Core项目发布后的文件夹。
- 大功告成。
从第7步至第9步,可以用批处理代替,节约时间。
main.bat
@echo off cls del /q E:\Projects\Trials\CJ\CJ\wwwroot\* del /q E:\Projects\Trials\CJ\CJ\bin\Release\netcoreapp2.0\publish\* del /q E:\Projects\Trials\CJ\deployment\* del /q E:\Projects\Trials\CJ\deployment\wwwroot\* echo 所有历史文件已清除 echo 开始发布Angular CLI程序 call cj_angular_publish.bat echo 开始发布ASP.NET CORE程序 xcopy /s E:\Projects\Trials\CJ\cjweb\wwwroot E:\Projects\Trials\CJ\CJ\wwwroot cd E:\Projects\Trials\CJ\CJ dotnet publish -c release echo 开始IIS文件部署 rem iisreset /stop xcopy /s E:\Projects\Trials\CJ\CJ\bin\Release\netcoreapp2.0\publish E:\Projects\Trials\CJ\deployment rem iisreset /start @pause
cj_angular_publish.bat
E: cd E:\Projects\Trials\CJ\cjweb ng build -env=prod
您可能感兴趣的文章:
- RabbitMQ单机集群搭建出现Error: unable to perform an operation on node 'rabbit1@ClusterNode1'
- DotNetty在window和linux下的性能对比
- .net core 图片合并,图片水印,等比例缩小,SixLabors.ImageSharp
- WPF简单的分页控件实现
- ASP.NET中实现中文简/繁体自动转换的类
- 前后端分离,https站点无法通过Ajax访问http资源(Mixed Content,The page at 'https://xxx.com' was loaded over HTTPS)
- layui,返回的数据不符合规范,正确的成功状态码 (code) 应为:0
如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!
网友评论