首页 > 解决方案 > 在 iis 上发布 Angular 应用程序 - 仅在 iis 端出错

问题描述

我在 Visual Studio 中创建了应用程序 .net 3.0 + Angular 8。然后我将角度升级到版本。10. 当我在本地运行应用程序时一切正常,但是当我在 iis 上发布它时出现此错误:

没有这样的文件或目录,打开 'C:\Websites\App\ClientApp\package.json'

我改变了 Startup.cs

services.AddSpaStaticFiles(configuration => { configuration.RootPath = "ClientApp/dist/App"; });

但这无济于事。

版本 8 在 iis 上工作没有任何问题。

我的包.json

 "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build",
    "build:ssr": "ng run App:server:dev",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e"
  },

与@Yiyi 一起编辑你帮助我继续前进。现在我得到了这个错误

The error output was: The serve command requires to be run in an Angular project, but a project definition could not be found.

我更新了每个(角度、节点等),将变量 npm 添加到 PATH,将 package.json 和 node_module 复制到项目,添加了对 app_pool 的权限

感谢帮助

标签: angularasp.net-coreiispublishangular10

解决方案


首先,你需要检查'C:\Websites\App\ClientApp\package.json'是否存在。在本地运行应用程序或在IIS上运行,路径可能不同,因为它不是完整路径。所以如果'C:\ Websites\App\ClientApp\package.json' 不存在,您需要将您的 packsage.json 添加到路径C:\Websites\App\ClientApp中。


推荐阅读