.net - 在 Azure 应用服务中部署 .net 核心项目时出现空白页
问题描述
我开发了一个 WEB api 应用程序。问题是,当我在登台或生产槽 azure 应用服务上部署时,会显示一个空白页面。我的应用程序如下工作:.net 核心中的 Web API 项目产生数据以在反应前端使用。
这是我的 csproj 文件:
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp2.1</TargetFramework>
<TypeScriptToolsVersion>Latest</TypeScriptToolsVersion>
<IsPackable>false</IsPackable>
<SpaRoot>Front\</SpaRoot>
<DefaultItemExcludes>$(DefaultItemExcludes);$(SpaRoot)node_modules\**
</DefaultItemExcludes>
<UserSecretsId>14b3dfa4-fc53-4655-ba9e-e3589f2c620f</UserSecretsId>
</PropertyGroup>
<ItemGroup>
<None Include="wwwroot\Document\ProductService.xml" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.App" />
<PackageReference Include="Microsoft.AspNetCore.Authentication.AzureAD.UI"
Version="2.1.1" />
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="2.1.4" />
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design"
Version="2.1.1" />
<PackageReference Include="React.AspNet" Version="3.4.1" />
<PackageReference Include="Swashbuckle.AspNetCore" Version="3.0.0" />
</ItemGroup>
<ItemGroup>
<!-- Don't publish the SPA source files, but do show them in the project
files list -->
<Content 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" />
<!-- Include the newly-built files in the publish output -->
<ItemGroup>
<DistFiles Include="$(SpaRoot)build\**" />
<ResolvedFileToPublish Include="@(DistFiles->'%(FullPath)')"
Exclude="@(ResolvedFileToPublish)">
<RelativePath>%(DistFiles.Identity)</RelativePath>
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
</ResolvedFileToPublish>
</ItemGroup>
</Target>
<PropertyGroup Condition="'$(Configuration)' == 'Debug'">
<TypeScriptTarget>ES5</TypeScriptTarget>
<TypeScriptJSXEmit>None</TypeScriptJSXEmit>
<TypeScriptModuleKind />
<TypeScriptCompileOnSaveEnabled>True</TypeScriptCompileOnSaveEnabled>
<TypeScriptNoImplicitAny>False</TypeScriptNoImplicitAny>
<TypeScriptRemoveComments>False</TypeScriptRemoveComments>
<TypeScriptOutFile />
<TypeScriptOutDir />
<TypeScriptGeneratesDeclarations>False</TypeScriptGeneratesDeclarations>
<TypeScriptNoEmitOnError>True</TypeScriptNoEmitOnError>
<TypeScriptSourceMap>True</TypeScriptSourceMap>
<TypeScriptMapRoot />
<TypeScriptSourceRoot />
</PropertyGroup>
</Project>
我的部署有什么问题?为什么我在天蓝色而不是本地主机中有一个空白页面。我要么在调试中启动,要么在 npm run build in localhost 之后直接启动。它的作品请帮忙谢谢
此致。
解决方案
推荐阅读
- xcode - iOS 14,Xcode 版本 12.0 beta 3“引用包含在框架标题中
- sql-server - Hibernate SQL Server 重复事务提交问题
- c++ - () 和 = 在创建类实例时有什么区别?
- angular - 如何使用primeng和angular保留p-dataTable的过滤器和排序选项?
- java - 将 HTML 页面转换为 PDF 文件的最佳方法
- sql - 如何使用 distinct 和 count 与 partition by
- codeigniter - 当用户在codeigniter中输入http时如何重定向到https
- amazon-web-services - 我的 python 代码无法识别 aws s3 中的数据更新
- java - 如何在算法结束之前重新绘制排序算法的每次迭代?
- python-3.x - 在 Jetson Xavier 上使用 OpenCV 的低相机 FPS