Stufe 2 (#764): Huelle ClawdDotNet.Shell mit eingebettetem Chromium
Avalonia 11.3.17 + CefGlue.Next 152 in eigenem Ordner shell/. Startet den Manager (ManagerStarter, nach Core gezogen), holt ueber den lokalen Socket einen Einmal-Link und zeigt die WebUI angemeldet; Taskleistensymbol mit Zustand. ClawdDotNet ohne Schalter startet die Huelle, sonst den Browser. publish.py baut sie mit (--no-shell zum Weglassen), unter Linux mit den Chromium-Ressourcen neben libcef.so. --selftest fuer die Pruefung ohne Blick. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
775c4dbc8e
commit
c9c56ea53b
@@ -0,0 +1,50 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<!-- #764, stage 2: the shell - a window around the web interface, with a tray icon.
|
||||
|
||||
Its own program in its own folder (shell/ in the package), on purpose:
|
||||
- Chromium (CefGlue.Next) is built against Avalonia 11.3; with Avalonia 12 it fails at
|
||||
the first browser (TypeLoadException, tried 2026-10-02). Two Avalonia versions do not
|
||||
fit into one output folder.
|
||||
- The instance process is started once per instance by the manager and should load
|
||||
neither Avalonia nor Chromium. -->
|
||||
<PropertyGroup>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<!-- The Chromium runtime package for Linux copies libcef & co. only for OutputType Exe; WinExe
|
||||
makes no difference on Linux anyway, but skipped the copy when building for linux-x64. -->
|
||||
<OutputType Condition="$(RuntimeIdentifier.StartsWith('linux'))">Exe</OutputType>
|
||||
<TargetFramework>net10.0</TargetFramework>
|
||||
<Nullable>enable</Nullable>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<RootNamespace>ClawdDotNet.Shell</RootNamespace>
|
||||
<AssemblyName>ClawdDotNet.Shell</AssemblyName>
|
||||
<ApplicationIcon>Assets\app.ico</ApplicationIcon>
|
||||
<!-- Without it Windows refuses the child window that hosts Chromium
|
||||
("Unable to create child window for native control host"). -->
|
||||
<ApplicationManifest>app.manifest</ApplicationManifest>
|
||||
<!-- CefGlue would raise the stack size of the apphost with editbin from Visual Studio;
|
||||
the build machine does not need Visual Studio for that, Chromium's own processes are
|
||||
started from this same executable and run with the default. -->
|
||||
<IsEditbinEnabled>false</IsEditbinEnabled>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Avalonia" Version="11.3.17" />
|
||||
<PackageReference Include="Avalonia.Desktop" Version="11.3.17" />
|
||||
<PackageReference Include="Avalonia.Themes.Fluent" Version="11.3.17" />
|
||||
<!-- A slim Linux image often has no system font at all; the tray menu and the error text
|
||||
need one. (The same reason the old desktop window shipped Barlow.) -->
|
||||
<PackageReference Include="Avalonia.Fonts.Inter" Version="11.3.17" />
|
||||
<PackageReference Include="CefGlue.Next.Avalonia" Version="152.7977.831" />
|
||||
<PackageReference Include="CefGlue.Next.BrowserProcess.Core" Version="152.7977.831" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<AvaloniaResource Include="Assets\**" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\ClawdDotNet.Core\ClawdDotNet.Core.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
Reference in New Issue
Block a user