Service Fabric 中 .NET Core 上的 Angular 应用程序 运行 出错

Error in Angular app running on .NET Core in Service Fabric

我创建了一个新的服务结构应用程序,添加了一个无状态 .NET Core 服务 (.NET Core 2.1) 并选择了 angular 模板。它构建良好并且看起来一切正常但是当我 运行 它时我得到这个错误:

Startup.cs 包含仅在开发中使用的行 spa.UseAngularCliServer(npmScript: "start");,如果我删除此行,则我不再收到此错误,但它不会获取我对代码的任何更改.

我已经尝试更新我的 npm、节点、angular cli 版本,将项目更新到 angular 7(默认情况下为 5),但没有成功。

如果我 运行 ng serve 直接在 ClientApp 文件夹中 运行 没问题,所以问题似乎与它托管在 .NET Core 或 SF 中有关。

好像是顺丰服务在system32下没有权限create/edit files/folders?

怀疑是顺丰没有修改那个文件夹的权限。 Service Fabric 在用户 NETWORK SERVICE.

下运行

我找到了 2 种修复方法:

1.手动授予 NETWORK SERVICE

权限

我导航到 C:\Windows\System32\config\systemprofile\AppData\Roaming 并编辑了该文件夹中的权限以授予用户 NETWORK SERVICE 对 read/write

的权限

2。编辑 ApplicationManifest.xml 以授予 SF 管理员权限

通过添加

<Principals>
  <Users>
    <User Name="LocalAdmin" AccountType="NetworkService">
      <MemberOf>
        <SystemGroup Name="Administrators" />
      </MemberOf>
    </User>
  </Users>
</Principals>
<Policies>
  <DefaultRunAsPolicy UserRef="LocalAdmin" />
</Policies>

这两种方法似乎都能奏效。最好的部分是它最终所做的就是在那里创建一个空的 npm 文件夹。