Files
Predictalytics/src/Predictalytics.Shell/Predictalytics.Shell.csproj
T
Richard 1131d257cf Eigenständiges token-geschütztes Verwaltungs-WebGUI (Admin WebGUI) hinzugefügt
- 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
2026-09-07 21:09:03 +02:00

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>