- Unabhängige Kestrel-Instanz auf Port 5001 (vollständig getrennt vom Analyse-Webserver) - Admin API Endpunkte ohne Swagger-Exposition - Token-Gatekeeper mit sofortigem Login-Overlay bei unautorisiertem Zugriff - Live-Terminal via SSE-Log-Streaming und Log-Download-Übersicht - Steuerung von Workern, Analyse-Webserver, Wartungsaktionen und Einstellungen - Nahtlose Integration in Avalonia Desktop-Shell und Linux Headless-Modus - Unit-Tests für Admin-Filter, Optionen und Log-Puffer
53 lines
2.4 KiB
XML
53 lines
2.4 KiB
XML
<Project Sdk="Microsoft.NET.Sdk">
|
|
|
|
<PropertyGroup>
|
|
<!-- WinExe: unter Windows kein Konsolenfenster hinter der GUI. Unter Linux
|
|
ist WinExe gleichbedeutend mit Exe. Fuer den Headless-Modus wird unter
|
|
Windows die Elternkonsole angehaengt (siehe ConsoleAttach). -->
|
|
<OutputType>WinExe</OutputType>
|
|
<RootNamespace>Predictalytics.Shell</RootNamespace>
|
|
<AvaloniaUseCompiledBindingsByDefault>true</AvaloniaUseCompiledBindingsByDefault>
|
|
<BuiltInComInteropSupport>true</BuiltInComInteropSupport>
|
|
<ApplicationManifest>app.manifest</ApplicationManifest>
|
|
<!-- Icon der Programmdatei. Unter Windows das, was Explorer, Taskleiste und
|
|
Task-Manager anzeigen — ohne das traegt jede unserer Anwendungen auf dem
|
|
Server dasselbe generische Platzhalter-Icon. -->
|
|
<ApplicationIcon>Assets\predictalytics.ico</ApplicationIcon>
|
|
</PropertyGroup>
|
|
|
|
<ItemGroup>
|
|
<!-- Fenstericon fuer Avalonia. Die .ico bleibt aussen vor: sie geht ueber
|
|
<ApplicationIcon> in die Programmdatei, und Skia dekodiert ohnehin nur PNG. -->
|
|
<AvaloniaResource Include="Assets\**" Exclude="Assets\predictalytics.ico" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<PackageReference Include="Avalonia" />
|
|
<PackageReference Include="Avalonia.Desktop" />
|
|
<PackageReference Include="Avalonia.Themes.Fluent" />
|
|
<PackageReference Include="Avalonia.Fonts.Inter" />
|
|
<PackageReference Include="CommunityToolkit.Mvvm" />
|
|
<PackageReference Include="Serilog" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<!-- Api, Worker, Infrastructure und Deploymentcenter.Client kommen transitiv ueber Hosting. -->
|
|
<ProjectReference Include="..\Predictalytics.Hosting\Predictalytics.Hosting.csproj" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<!-- Die WebUI wird neben die Programmdatei kopiert, damit PredictalyticsHost sie
|
|
ueber AppContext.BaseDirectory findet. -->
|
|
<Content Include="..\Predictalytics.Api\wwwroot\**"
|
|
Link="wwwroot\%(RecursiveDir)%(Filename)%(Extension)"
|
|
CopyToOutputDirectory="PreserveNewest"
|
|
CopyToPublishDirectory="PreserveNewest" />
|
|
<Content Include="..\Predictalytics.Hosting\Admin\wwwroot\**"
|
|
Link="admin_wwwroot\%(RecursiveDir)%(Filename)%(Extension)"
|
|
CopyToOutputDirectory="PreserveNewest"
|
|
CopyToPublishDirectory="PreserveNewest" />
|
|
<None Include="run.sh" CopyToOutputDirectory="PreserveNewest" CopyToPublishDirectory="PreserveNewest" />
|
|
</ItemGroup>
|
|
|
|
</Project>
|