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-->