рдХреЛрдгреАрдп 6 рдПрд╕рдкреАрдП рдЯреЗрдореНрдкрд▓реЗрдЯ рдПрдПрд╕рдкреА .NET рдХреЛрд░ 2.1 рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХрд╛ рдХрдВрдЯреЗрдирд░реАрдХрд░рдг

07.24.2019 рд╕реЗ рдЕрджреНрдпрддрди рд▓реЗрдЦ рдХреЗ рдЕрдВрдд рдореЗрдВ рджреЗрдЦреЗрдВред

11/01/2018 рд╕реЗ UPDATE {
рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдорджрдж рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдиреАрдЪреЗ docker рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдПрдХ рдЕрдзрд┐рдХ рд╡реИрдЪрд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рд╕рд╣реА рд╕рдВрд╕реНрдХрд░рдг рд╣реИред

рдорд╛рдирдХ рдХреЛрдгреАрдп рдПрд╕рдкреАрдП рдЯреЗрдореНрдкрд▓реЗрдЯ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдЯреЗрдореНрдкрд▓реЗрдЯ рдореЗрдВ рдПрдХ рддреНрд░реБрдЯрд┐ рд╣реИред рд╕рдВрд╕реНрдХрд░рдг net .core 2.1 рдореЗрдВ рдбреЗрд╡рд▓рдкрд░реНрд╕ред microsoft / dotnet рд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛: 2.1-sdk рдЗрдореЗрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдиреЛрдбрдЬ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдХреЛрдб рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдмрдирд╛ рд░рд╣рд╛ред рдпрд╣рд╛рдВ рдкрдврд╝реЗрдВ github.com/aspnet/Announcements/issues/298
рдЖрдкрдХреЛ рдирд┐рдореНрди рдХреЛрдб рд╣рдЯрд╛рдХрд░ * .csproj рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛
* .Csproj рд╕реЗ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб
<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> 


рд╕рд╣реА рдбреЙрдХрдЯрд░рд╛рдЗрд▓
 ARG NODE_IMAGE=node:8.12 FROM microsoft/dotnet:2.1-aspnetcore-runtime AS base WORKDIR /app EXPOSE 80 FROM microsoft/dotnet:2.1-sdk AS build WORKDIR /src COPY ["AngularWebApp/AngularWebApp.csproj", "AngularWebApp/"] RUN dotnet restore "AngularWebApp/AngularWebApp.csproj" COPY . . WORKDIR "/src/AngularWebApp" FROM ${NODE_IMAGE} as node-build WORKDIR /src COPY AngularWebApp/ClientApp . RUN npm install RUN npm run build -- --prod FROM build AS publish RUN dotnet publish "AngularWebApp.csproj" -c Release -o /app FROM base AS final WORKDIR /app COPY --from=publish /app . COPY --from=node-build /src/dist ./ClientApp/dist ENTRYPOINT ["dotnet", "AngularWebApp.dll"] 


}

рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдореБрдЭреЗ рдХрд╣реАрдВ рднреА рддреИрдпрд╛рд░ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рдорд┐рд▓рд╛ рд╣реИред рдореБрдЭреЗ рдХрдИ рд╕реНрд░реЛрддреЛрдВ рд╕реЗ рдЬрд╛рдирдХрд╛рд░реА рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреА рдкрдбрд╝реАред ASP.NET рдХреЛрд░ рдкрд░ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдХреЛрдгреАрдп 6/7 рдбреЙрдХрдЯрд░ рдореЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред

рдпрджрд┐ рд╣рдо рдорд╛рдирдХ рдЙрдкрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рдПрдХ рдХреЛрдгреАрдп рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреЗ рд╕рд╛рде рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП docker рд╕рдорд░реНрдерди рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рддреЗ рд╣реИрдВ, рддреЛ docker рдлрд╝рд╛рдЗрд▓ Microsoft / dotnet: 2.1-aspnetcore-runtime рдЫрд╡рд┐ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЫрд╡рд┐ рдмрдирд╛рдПрдЧреАред рдЗрд╕ рдмреЗрд╕ рдЗрдореЗрдЬ рдореЗрдВ рдХреЛрдИ рдиреЛрдб.рдЬреЗрдПрд╕ рд╕рд░реНрд╡рд░ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реИ рдФрд░ рдирд┐рд╖реНрдкрд╛рджрди рдХрд╛ рдкрд░рд┐рдгрд╛рдо ASP .NET рдХреЛрд░ рддреНрд░реБрдЯрд┐ рд╣реЛрдЧреА


 An unhandled exception occurred while processing the request. The NPM script 'start' exited without indicating that the Angular CLI was listening for requests 

рдЫрд╡рд┐

рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдиреЛрдб.рдЬреЗрдПрд╕ рдФрд░ рдХреЛрдгреАрдп рдХреЛ рдЬреЛрдбрд╝рдХрд░ рдбреЙрдХрд░ рдлрд╛рдЗрд▓ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЪреВрдВрдХрд┐ рд╡рд┐рдХрд╛рд╕ рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рдЕрдзреАрди рд╣реИ, рдФрд░ рдпрд╣ рд╕рдм Ubunty рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рдбреЙрдХрдЯрд░ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рдЕрдЧрд░ scss рдпрд╛ sass рд╢реИрд▓реА рдХреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЙрдиреНрд╣реЗрдВ Angular CLI рджреНрд╡рд╛рд░рд╛ рдиреЛрдб-рдПрд╕рдПрдПрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЬрдм рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдПрдХ рддреНрд░реБрдЯрд┐ рджреЗрддрд╛ рд╣реИ "рдиреЛрдб рд╕рд╛рд╕ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ" рдЕрднреА рддрдХ рдЕрдкрдиреЗ рд╡рд░реНрддрдорд╛рди рдкрд░рд┐рд╡реЗрд╢ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдВ: рд╡рд┐рдВрдбреЛрдЬ 64-рдмрд┐рдЯ рдЕрд╕рдорд░реНрдерд┐рдд рд░рдирдЯрд╛рдЗрдо рдХреЗ рд╕рд╛рдеред " рдЖрдкрдХреЛ рдХрдорд╛рдВрдб рдЪрд▓рд╛рдирд╛ рдЪрд╛рд╣рд┐рдП:

 npm rebuild node-sass 

npm рд╡рд░реНрддрдорд╛рди рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдЧрд╛ рдФрд░ css рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХрд░реЗрдЧрд╛ред

рдПрдПрд╕рдкреА .NET рдХреЛрд░ 2.1 рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдПрдХ рдХреЛрдгреАрдп рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдЕрдВрддрд┐рдо рдбреЛрдХрд░ рдлрд╝рд╛рдЗрд▓ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реИ

 FROM microsoft/dotnet:2.1-aspnetcore-runtime AS base # Setup NodeJs RUN apt-get update && \ apt-get install -y wget && \ apt-get install -y gnupg2 && \ wget -qO- https://deb.nodesource.com/setup_8.x | bash - && \ apt-get install -y build-essential nodejs RUN npm install @angular/cli -g # End setup WORKDIR /app EXPOSE 80 FROM microsoft/dotnet:2.1-sdk AS build WORKDIR /src COPY ["AngularWebApp/AngularWebApp.csproj", "AngularWebApp/"] RUN dotnet restore "AngularWebApp/AngularWebApp.csproj" COPY . . WORKDIR "/src/AngularWebApp" RUN dotnet build "AngularWebApp.csproj" -c Release -o /app FROM build AS publish RUN dotnet publish "AngularWebApp.csproj" -c Release -o /app FROM base AS final WORKDIR /app COPY --from=publish /app . WORKDIR /app/ClientApp RUN npm install RUN npm rebuild node-sass WORKDIR /app ENTRYPOINT ["dotnet", "AngularWebApp.dll"] 

рдореИрдВрдиреЗ Node.js рдХреЗ рд╕реНрдерд┐рд░ рдПрд▓рдЯреАрдПрд╕ рд░рд┐рд▓реАрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛, рд╡рд░реНрддрдорд╛рди рдореЗрдВ 8.x, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдХрд┐рд╕реА рднреА рдЕрдзрд┐рдХ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдореЗрдВ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВ рдпрд╣ рднреА рдзреНрдпрд╛рди рджреЗрддрд╛ рд╣реВрдВ рдХрд┐ рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд╛рддреНрд░реЛрдВ рдХреЗ рдПрдХ рдЕрд▓рдЧ рдорд╛рдорд▓реЗ рд╕реЗ рдЬреБрдбрд╝реА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдХреНрд╖рдорд╛ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд▓рд┐рдирдХреНрд╕ рдЗрд╕реЗ рдорд╛рдл рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдФрд░ рд╡рд┐рдХрд╛рд╕ рдХреЗ рджреМрд░рд╛рди рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рд╕реЗ рдЗрдирдХрд╛рд░ рдХрд░ рджреЗрдЧреА, рдПрдХ рддреНрд░реБрдЯрд┐

 docker ERROR in error TS1149: File name 'filename.ts' differs from already included file name 'FileNames.ts' only in casing 

рд╕рдВрдХрд▓рди рдЪрд░рдг рдореЗрдВ рднреА рдЗрд╕ рддрд░рд╣ рдХреА рддреНрд░реБрдЯрд┐рдпреЛрдВ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдЙрдЪрд┐рдд рд╡рд┐рдХрд▓реНрдк рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ "ForceConsistentCasingInFileNames": рдХрдВрдкрд╛рдЗрд▓рд░ рдЦрдВрдб рдореЗрдВ tsconfig.json рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рд╕рд╣реА

 { "compilerOptions": { "forceConsistentCasingInFileNames": true } } } 


07.24.2019 рд╕реЗ рдЕрджреНрдпрддрди
рдлрд┐рд░ рд╕реЗ, рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдорджрдж рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж , рдбреЙрдХ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЕрдиреБрдХреВрд▓рд┐рдд рд╕рдВрд╕реНрдХрд░рдг рдиреАрдЪреЗ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдЕрдиреБрдХреВрд▓рд┐рдд рдбреЙрдХрдлрд╛рдЗрд▓
 ARG NODE_IMAGE=node:10.16.0 FROM mcr.microsoft.com/dotnet/core/sdk:2.2-stretch AS build WORKDIR /src COPY ["AngularWebApp/AngularWebApp.csproj", "AngularWebApp/"] RUN dotnet restore "AngularWebApp/AngularWebApp.csproj" COPY . . WORKDIR "/src/AngularWebApp" RUN dotnet build "AngularWebApp.csproj" -c Release -o /app RUN dotnet publish "AngularWebApp.csproj" -c Release -o /app FROM ${NODE_IMAGE} as node-build WORKDIR /src COPY AngularWebApp/ClientApp . RUN npm install RUN npm rebuild node-sass RUN npm run build -- --prod FROM mcr.microsoft.com/dotnet/core/aspnet:2.2-stretch-slim AS base WORKDIR /app EXPOSE 80 COPY --from=build /app . COPY --from=node-build /src/dist ./ClientApp/dist ENTRYPOINT ["dotnet", "AngularWebApp.dll"] 


}

рдХреЛрдгреАрдп, рдХреЛрдгреАрдп 6/7, рдПрд╕реНрдк .net рдХреЛрд░ 2.1, рдбреЙрдХрдЯрд░

Source: https://habr.com/ru/post/hi428107/


All Articles