ASP.Net Core程序发布

761 阅读2分钟

环境:

  • Visual Studio 2019
  • .Net Core 3.1
  • Angular9

步骤:

1、打开已经创建好的Angular Web Application项目,在项目上右键,点击【发布】


2、在【选取发布目标】对话框中,选择【文件夹】,点击【高级】


3、选择目标框架、部署模式、目标运行时,确定无误后点击【保存】

  • 目标框架:当前项目使用的是.Net Core 3.1,所以选取netcoreapp3.1
  • 部署模式:分为"框架依赖"和"独立"两种模式
    • 框架依赖:目标服务器需要安装.net core runtime等外部依赖,生成的程序小,发布速度快
    • 独立:目标服务器可不安装.net core runtime等外部依赖,系统生成时会将项目运行所需的依赖全部打包在一起,项目文件大,速度耗时较长
  • 目标运行时:根据目标服务器的环境选择,当前项目使用linux系统,所以选取linux-x64


4、点击【创建配置文件】创建发布配置文件


5、点击【发布】进行程序发布



问题一:

发布过程中,报错"npm run build -- --prod" exited with code 1

解决方案:

在Angular项目目录下运行以下代码,即可查看实际的错误

npm run build --prod

修复报错,直至运行上述命令成功。


实践过程中,步骤一是最直观有效的,以下方法为百度查询的一些方法,可供参考:

(1)进入ClientApp文件,然后在CMD命令行中运行

npm install build

这时,就可以看到实际的错误了,修复错误,直到上面的命令运行成功。

(2)若依然报错"npm run build -- --prod":

      a、编辑项目文件,将项目文件中的【npm run build -- --prod】改为【npm run build --prod】;

      b、进行ClientApp文件,使用CMD命令更新项目的angular/cli

npm install --save-dev @angular/cli@latest

      c、如果NodeJS和npm没有添加到系统环境变量中的话,更新Visual Studio 的NodeJS和npm,路径:【工具】--【选项】--【项目和解决方案】--【Web包管理】--【外部Web工具】


问题二:

Cannot find module '@babel/core'

解决方案:

运行以下命令进行卸载重装

//卸载
npm un babel-core
//重装
cnpm i -D @babel/core


问题三:

no such file or directory, rename '........\_globby@6.1.0@globby\node_modules\object-assign' -> '.......\_globby@5.0.0@globby\node_modules\object-assign'

解决方案:

将Angular项目下的package-lock.json文件删掉,如果没有这个文件,或者删除后还报错,可尝试以下这种方式:

  因为一开始安装angular依赖的时候是使用的cnpm install命令,现在改用npm install重新进行安装,再次是用npm install build就不会报这个错了


问题四:

can't not resolve 'events' in '.......\webpack\hot'

解决方案:

在Angular项目中安装webpack,然后重新运行即可

npm install webpack