Проект Angular-cli, размещенный вне проекта Visual Studio Core 2.2 Web Api, не компилируется случайным образом - PullRequest
0 голосов
/ 14 декабря 2018

У меня есть проект Visual Studio 2017 ASP.NET Core 2.2, основанный на шаблоне API.Внутри проекта Api я создал новое веб-приложение на основе angular-cli.

Visual Studio Build не может компилироваться случайным образом.Сборка не удалась.Затем я снова компилирую, ничего не меняя, и сборка завершается успешно.Если я соберу снова, он теперь будет компилироваться последовательно, но с предупреждениями, и внезапно он снова начнет отказывать с теми же ошибками и повторяться.

Когда он терпит неудачу, я получаю 24 ошибки сборки, подобные этой.Это папка пакета под node_modules.

TS2420  Build:Class 'MockMediaQueryList' incorrectly implements interface 'MediaQueryList'. C:\somePath\node_modules\@angular\flex-layout\core\typings\match-media\mock\mock-match-media.d.ts

Когда он компилируется, у меня есть 8 предупреждений, подобных этому:

C:\somePath\node_modules\@angular\flex-layout\core\typings\match-media\mock\mock-match-media.d.ts(62,22): error TS2420: Build:Class 'MockMediaQueryList' incorrectly implements interface 'MediaQueryList'.

Я не знаю ничего, что делает какие-либо операции над файлами в node_modules во время компиляции.Приложение angular-cli должно полностью игнорироваться MsBuild, но это явно не так.

В разделе «Свойства проекта» -> «Сборка Typescript» я выбрал «Использовать последние доступные» и снял флажок вФлажок «Включить».

Это мой файл project.csproj

<Project Sdk="Microsoft.NET.Sdk.Web">
  <PropertyGroup>
  <TargetFramework>netcoreapp2.2</TargetFramework>
  <IsServiceFabricServiceProject>True</IsServiceFabricServiceProject>
  <ServerGarbageCollection>True</ServerGarbageCollection>
  <RuntimeIdentifier>win7-x64</RuntimeIdentifier>
  <TargetLatestRuntimePatch>False</TargetLatestRuntimePatch>
  <TypeScriptToolsVersion>Latest</TypeScriptToolsVersion>
   <Platforms>AnyCPU;x64</Platforms>
</PropertyGroup>
<ItemGroup>
   <Folder Include="wwwroot\" />
 </ItemGroup>
 <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.App" />
    <PackageReference Include="Microsoft.AspNetCore.Razor.Design" Version="2.2.0" PrivateAssets="All" />
    <PackageReference Include="Microsoft.ServiceFabric.AspNetCore.Kestrel" Version="3.3.617" />
 </ItemGroup>
    <PropertyGroup Condition="'$(Configuration)' == 'Debug'">
    <TypeScriptTarget>ES2015</TypeScriptTarget>
    <TypeScriptJSXEmit>None</TypeScriptJSXEmit>
    <TypeScriptModuleKind>ES6</TypeScriptModuleKind>
    <TypeScriptCompileOnSaveEnabled>False</TypeScriptCompileOnSaveEnabled>
    <TypeScriptNoImplicitAny>False</TypeScriptNoImplicitAny>
    <TypeScriptRemoveComments>True</TypeScriptRemoveComments>
    <TypeScriptOutFile />
    <TypeScriptOutDir />
    <TypeScriptGeneratesDeclarations>False</TypeScriptGeneratesDeclarations>
    <TypeScriptNoEmitOnError>True</TypeScriptNoEmitOnError>
    <TypeScriptSourceMap>True</TypeScriptSourceMap>
    <TypeScriptMapRoot />
    <TypeScriptSourceRoot />
  </PropertyGroup>
</Project>

1 Ответ

0 голосов
/ 02 января 2019

Проблема была решена путем обновления до последней версии

npm install @angular/flex-layout@latest 
...