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
文件夹。
我创建了一个新的服务结构应用程序,添加了一个无状态 .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
文件夹。