Files
Academic-Affairs-System/src/Jiaowu.Api/Jiaowu.Api.csproj
T
2026-07-25 21:15:32 +08:00

64 lines
2.7 KiB
XML

<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>net10.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<SpaRoot>$([System.IO.Path]::GetFullPath('$(MSBuildProjectDirectory)/../../web'))</SpaRoot>
<BuildFrontendOnPublish Condition="'$(BuildFrontendOnPublish)' == ''">true</BuildFrontendOnPublish>
<NpmCommand Condition="'$(OS)' == 'Windows_NT'">call npm.cmd</NpmCommand>
<NpmCommand Condition="'$(NpmCommand)' == ''">npm</NpmCommand>
</PropertyGroup>
<ItemGroup>
<Content Remove="wwwroot\**\*" />
<Content Update="appsettings.Development.json" CopyToPublishDirectory="Never" />
<Content
Include="..\..\.env.example"
Link=".env.example"
CopyToPublishDirectory="PreserveNewest" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="ClosedXML" Version="0.105.0" />
<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="10.0.10" />
<PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="10.0.10" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="10.0.10">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="10.0.10" />
<PackageReference Include="MySql.EntityFrameworkCore" Version="10.0.7" />
<PackageReference Include="SQLitePCLRaw.bundle_e_sqlite3" Version="3.0.4" />
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.6.2" />
</ItemGroup>
<Target
Name="BuildVueFrontendForPublish"
AfterTargets="ComputeFilesToPublish"
Condition="Exists('$(SpaRoot)/package.json')">
<Message
Condition="'$(BuildFrontendOnPublish)' == 'true'"
Importance="high"
Text="Building Vue frontend for ASP.NET Core publish..." />
<Exec
Condition="'$(BuildFrontendOnPublish)' == 'true'"
WorkingDirectory="$(SpaRoot)"
Command="$(NpmCommand) ci" />
<Exec
Condition="'$(BuildFrontendOnPublish)' == 'true'"
WorkingDirectory="$(SpaRoot)"
Command="$(NpmCommand) run build" />
<ItemGroup>
<FrontendFiles Include="$(MSBuildProjectDirectory)\wwwroot\**\*" />
<ResolvedFileToPublish Include="@(FrontendFiles->'%(FullPath)')">
<RelativePath>wwwroot\%(RecursiveDir)%(Filename)%(Extension)</RelativePath>
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
<ExcludeFromSingleFile>true</ExcludeFromSingleFile>
</ResolvedFileToPublish>
</ItemGroup>
</Target>
</Project>