Ошибка в приложении Angular, работающем на .NET Core в Service Fabric - PullRequest
0 голосов
/ 14 ноября 2018

Я создал новое приложение фабричной службы, добавил службу .NET Core без сохранения состояния (.NET Core 2.1) и выбрал угловой шаблон.Он прекрасно работает, и все выглядит хорошо, однако, когда я запускаю его, я получаю эту ошибку:

enter image description here

Startup.cs содержит строку spa.UseAngularCliServer(npmScript: "start");, которая толькоиспользуется в разработке, если я удаляю эту строку, то я больше не получаю эту ошибку, но она не фиксирует мои изменения в коде.

Я попытался обновить свои версии npm, node, angular cli, updateпроект с угловым значением 7 (по умолчанию 5) безуспешно.

Если я запускаю ng serve непосредственно в папке ClientApp, он работает нормально, поэтому проблема, похоже, связана с тем, что он размещен в.NET Core или SF.

Похоже, это может быть связано со службой SF, не имеющей разрешения на создание / редактирование файлов / папок в system32?

1 Ответ

0 голосов
/ 14 ноября 2018

Как и предполагалось, это было связано с тем, что SF не имеет разрешения на изменение этой папки.Служебная структура работает под пользователем NETWORK SERVICE.

. Я нашел 2 способа исправить это:

1.Вручную предоставьте разрешение NETWORK SERVICE

Я перешел к C:\Windows\System32\config\systemprofile\AppData\Roaming и отредактировал разрешения в этой папке, чтобы дать пользователю NETWORK SERVICE разрешения на чтение / запись

2,Отредактируйте файл ApplicationManifest.xml, чтобы дать администраторам права доступа

. Для этого добавьте

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

.Самое приятное то, что в конечном итоге он создал пустую папку npm.

...