Ошибка: "Microsoft.AspNetCore.SpaServices [0]" - PullRequest
0 голосов
/ 09 января 2020

asp. net core 2.2 angular 8

Я создал новый проект net core2.2 angular, очистил ClientApp и заменил новый ClientApp для angular 8.

У меня возникает ошибка при развертывании проекта на windows сервере iis.

windows сервер 2016 Angular CLI: 8.3.22 Узел: 12.14.1 ОС: win32 x64

Журналы

info: Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager [0] Профиль пользователя недоступен. Использование 'HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ ASP .NET \ 4.0.30319.0 \ AutoGenKeys \ S-1-5-82-3760120535-1278749888-1004921958-2391369664-4061274737 \ DataProtection' в качестве хранилища ключей и Windows для DPPI ключи в покое. info: Microsoft.AspNetCore.SpaServices [0] Запуск @ angular / cli на порту 50021 ... Среда размещения: содержимое разработки root путь: C: \ pub2 Приложение запущено. Нажмите Ctrl + C, чтобы выключить. info: Microsoft.AspNetCore.Hosting.Internal.WebHost [1] Запрос на запуск HTTP / 1.1 GET http://193.176.242.123: 8598 /
warn: Microsoft.AspNetCore.HttpsPolicy.HttpsRedirectionMiddleware [3] Не удалось определить порт https для перенаправления. ошибка: Microsoft.AspNetCore.SpaServices [0] Ошибка: EPERM: операция не разрешена, mkdir 'C: \ windows \ system32 \ config \ systemprofile \ AppData \ Roaming \ npm'

ошибка: Microsoft.AspNetCore.SpaServices [0] Ошибка типа: невозможно прочитать свойство 'get' из неопределенного

ошибка: Microsoft.AspNetCore.SpaServices [0] в сообщении об ошибке (C: \ Program Files \ nodejs \ node_modules \ npm \ lib \ utils \ error-message. js: 38: 39) в errorHandler (C: \ Program Files \ nodejs \ node_modules \ npm \ lib \ utils \ error-handler. js: 201: 13) в C: \ Program Files \ nodejs \ node_modules \ npm \ bin \ npm -cli. js: 78: 20 в cb (C: \ Program Files \ nodejs \ node_modules \ npm \ lib \ npm. js: 225: 22) в C: \ Program Files \ nodejs \ node_modules \ npm \ lib \ npm. js: 263: 24 в C: \ Program Files \ nodejs \ node_modules \ npm \ lib \ config \ core. js: 81: 7 в Array.forEach () в C: \ Program Files \ nodejs \ node_modules \ npm \ lib \ config \ core. js: 80:13 в f (C: \ Program Files \ nodejs \ node_modules \ npm \ node_modules \ onc e \ Once. js: 25: 25) at afterExtras (C: \ Program Files \ nodejs \ node_modules \ npm \ lib \ config \ core. js: 171: 20) C: \ Program Files \ nodejs \ node_modules \ npm \ lib \ utils \ error-handler. js: 97 var doExit = npm .config.loaded? npm .config.get ('_ exit'): true ^

  TypeError: Cannot read property 'loaded' of undefined
      at exit (C:\Program Files\nodejs\node_modules\npm\lib\utils\error-handler.js:97:27)
      at process.errorHandler (C:\Program Files\nodejs\node_modules\npm\lib\utils\error-handler.js:216:3)
      at process.emit (events.js:223:5)
      at process._fatalException (internal/process/execution.js:150:25)
  Error: EPERM: operation not permitted, mkdir 'C:\windows\system32\config\systemprofile\AppData\Roaming\npm'

ошибка: Microsoft.AspNetCore.SpaServices [0] TypeError: Невозможно прочитать свойство 'get' из неопределенного

Cb \ utils \ error-handler. js: 97: ошибка: Microsoft.AspNetCore.SpaServices [0] в errorMessage (C: \ Program Files \ nodejs \ node_modules \ npm \ lib \ utils \ error-message. js: 38: 39) в errorHandler (C: \ Program Files \ nodejs \ node_modules \ npm \ lib \ utils \ error-handler. js: 201: 13) в C: \ Program Files \ nodejs \ node_modules \ npm \ bin \ npm -cli. js: 78: 20 в кб (C: \ Program Files \ nodejs \ node_modules \ npm \ lib \ npm. js: 225: 22 ) в C: \ Program Files \ nodejs \ node_modules \ npm \ lib \ npm. js: 263: 24 в C: \ Program Files \ nodejs \ node_modules \ npm \ lib \ config \ core. js: 81: 7 в Array.forEach () в C: \ Program Files \ nodejs \ node_modules \ npm \ lib \ config \ core. js: 80: 13 в f (C: \ Program) Файлы \ nodejs \ node_modules \ npm \ node_modules \ Once \ Once. js: 25: 25) в afterExtras (C: \ Program Files \ nodejs \ node_modules \ npm \ lib \ co nfig \ core. js: 171: 20) C: \ Program Files \ nodejs \ node_modules \ npm \ lib \ utils \ error-handler. js: 97

ошибка: Microsoft.AspNetCore .SpaServices [0] var doExit = npm .config.loaded? npm .config.get ('_ exit'): true ^

ошибка: Microsoft.AspNetCore.SpaServices [0]

  TypeError: Cannot read property 'loaded' of undefined

ошибка: Microsoft.AspNetCore.SpaServices [0] при выходе (C: \ Program Files \ nodejs \ node_modules \ npm \ lib \ utils \ error-handler. js: 97: 27)

ошибка: Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware [1 ] Произошло необработанное исключение при выполнении запроса. System.AggregateException: произошла одна или несколько ошибок. (Произошла одна или несколько ошибок. («Пуск» сценария NPM завершился без указания того, что CLI Angular прослушивал запросы. Вывод ошибки: Ошибка: EPERM: операция не разрешена, mkdir 'C: \ windows \ system32 \ config \ systemprofile \ AppData \ Roaming \ npm '

TypeError: Невозможно прочитать свойство' get 'из неопределенного

at errorMessage (C:\Program Files\nodejs\node_modules\npm\lib\utils\error-message.js:38:39)
at errorHandler (C:\Program Files\nodejs\node_modules\npm\lib\utils\error-handler.js:201:13)
at C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js:78:20
at cb (C:\Program Files\nodejs\node_modules\npm\lib\npm.js:225:22)
at C:\Program Files\nodejs\node_modules\npm\lib\npm.js:263:24
at C:\Program Files\nodejs\node_modules\npm\lib\config\core.js:81:7
at Array.forEach (<anonymous>)
at C:\Program Files\nodejs\node_modules\npm\lib\config\core.js:80:13
at f (C:\Program Files\nodejs\node_modules\npm\node_modules\once\once.js:25:25)
at afterExtras (C:\Program Files\nodejs\node_modules\npm\lib\config\core.js:171:20)

C: \ Program Files \ nodejs \ node_modules \ npm \ lib \ utils \ error-handler. js: 97 var doExit = npm .config.loaded? npm .config.get ('_ exit'): true ^

Ошибка типа: невозможно прочитать свойство 'загружен' из неопределенного при выходе (C: \ Program Files \ nodejs \ node_modules \ npm \ lib \ utils \ error-handler. js: 97: 27) в process.errorHandler (C: \ Program Files \ nodejs \ node_modules \ npm \ lib \ utils \ error-handler. js: 216: 3) в process.emit (события. js: 223: 5) в process._fatalException (internal / процесс / выполнение. js: 150: 25) Ошибка: EPERM: операция не разрешена, mkdir 'C: \ windows \ system32 \ config \ systemprofile \ AppData \ Roaming \ npm'

...

info: Microsoft.AspNetCore.Hosting.Internal.WebHost [2] Запрос завершен в 2702.9685ms 500 text / html; charset = utf-8 Приложение закрывается ...

startup.cs

    public class Startup
{
    public Startup(IConfiguration configuration)
    {
        Configuration = configuration;
    }

    public IConfiguration Configuration { get; }

    // This method gets called by the runtime. Use this method to add services to the container.
    public void ConfigureServices(IServiceCollection services)
    {
        services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);

        // In production, the Angular files will be served from this directory
        services.AddSpaStaticFiles(configuration =>
        {
            configuration.RootPath = "ClientApp/dist";
        });
    }

    // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
    public void Configure(IApplicationBuilder app, IHostingEnvironment env)
    {
        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
        }
        else
        {
            app.UseExceptionHandler("/Error");
            // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
            app.UseHsts();
        }

        app.UseHttpsRedirection();
        app.UseStaticFiles();
        app.UseSpaStaticFiles();

        app.UseMvc(routes =>
        {
            routes.MapRoute(
                name: "default",
                template: "{controller}/{action=Index}/{id?}");
        });

        app.UseSpa(spa =>
        {
            // To learn more about options for serving an Angular SPA from ASP.NET Core,
            // see https://go.microsoft.com/fwlink/?linkid=864501

            spa.Options.SourcePath = "ClientApp";

            if (env.IsDevelopment())
            {
                spa.UseAngularCliServer(npmScript: "start");
            }
        });
    }
}

appsetting. json

{
  "Logging": {
    "LogLevel": {
      "Default": "Warning"
    }
  },
  "AllowedHosts": "*"
}

csproj

<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    <TargetFramework>netcoreapp2.2</TargetFramework>
    <TypeScriptCompileBlocked>true</TypeScriptCompileBlocked>
    <TypeScriptToolsVersion>Latest</TypeScriptToolsVersion>
    <IsPackable>false</IsPackable>
    <SpaRoot>ClientApp\</SpaRoot>
    <DefaultItemExcludes>$(DefaultItemExcludes);$(SpaRoot)node_modules\**</DefaultItemExcludes>

    <!-- Set this to true if you enable server-side prerendering -->
    <BuildServerSideRenderer>false</BuildServerSideRenderer>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.App" />
    <PackageReference Include="Microsoft.AspNetCore.Razor.Design" Version="2.2.0" PrivateAssets="All" />
  </ItemGroup>

  <ItemGroup>
    <!-- Don't publish the SPA source files, but do show them in the project files list -->
    <Content Remove="$(SpaRoot)**" />
    <None Remove="$(SpaRoot)**" />
    <None Include="$(SpaRoot)**" Exclude="$(SpaRoot)node_modules\**" />
  </ItemGroup>

  <Target Name="DebugEnsureNodeEnv" BeforeTargets="Build" Condition=" '$(Configuration)' == 'Debug' And !Exists('$(SpaRoot)node_modules') ">
    <!-- Ensure Node.js is installed -->
    <Exec Command="node --version" ContinueOnError="true">
      <Output TaskParameter="ExitCode" PropertyName="ErrorCode" />
    </Exec>
    <Error Condition="'$(ErrorCode)' != '0'" Text="Node.js is required to build and run this project. To continue, please install Node.js from https://nodejs.org/, and then restart your command prompt or IDE." />
    <Message Importance="high" Text="Restoring dependencies using 'npm'. This may take several minutes..." />
    <Exec WorkingDirectory="$(SpaRoot)" Command="npm install" />
  </Target>

  <Target Name="PublishRunWebpack" AfterTargets="ComputeFilesToPublish">
    <!-- As part of publishing, ensure the JS resources are freshly built in production mode -->
    <Exec WorkingDirectory="$(SpaRoot)" Command="npm install" />
    <Exec WorkingDirectory="$(SpaRoot)" Command="npm run build -- --prod" />
    <Exec WorkingDirectory="$(SpaRoot)" Command="npm run build:ssr -- --prod" Condition=" '$(BuildServerSideRenderer)' == 'true' " />

    <!-- Include the newly-built files in the publish output -->
    <ItemGroup>
      <DistFiles Include="$(SpaRoot)dist\**; $(SpaRoot)dist-server\**" />
      <DistFiles Include="$(SpaRoot)node_modules\**" Condition="'$(BuildServerSideRenderer)' == 'true'" />
      <ResolvedFileToPublish Include="@(DistFiles->'%(FullPath)')" Exclude="@(ResolvedFileToPublish)">
        <RelativePath>%(DistFiles.Identity)</RelativePath>
        <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
      </ResolvedFileToPublish>
    </ItemGroup>
  </Target>

</Project>

web.config

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <location path="." inheritInChildApplications="false">
    <system.webServer>
      <handlers>
        <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
      </handlers>
      <aspNetCore processPath="dotnet"
      arguments=".\WebApplication5.dll"
      stdoutLogEnabled="true"
      stdoutLogFile=".\logs\stdout"
      hostingModel="InProcess">
        <environmentVariables>
          <environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Development" />
        </environmentVariables>
      </aspNetCore>    
    </system.webServer>
  </location>
</configuration>
<!--ProjectGuid: 9306afda-16b4-412d-a568-119017016058-->
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...