Update
This commit is contained in:
Родитель
9088e02950
Коммит
45d65e0be2
|
@ -18,6 +18,8 @@ jobs:
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v1
|
- uses: actions/checkout@v1
|
||||||
|
- name: Install wasm-tools
|
||||||
|
run: dotnet workload install wasm-tools wasm-experimental
|
||||||
- name: Setup .NET Core
|
- name: Setup .NET Core
|
||||||
uses: actions/setup-dotnet@v1
|
uses: actions/setup-dotnet@v1
|
||||||
- name: Build Release
|
- name: Build Release
|
||||||
|
|
|
@ -1,5 +1,8 @@
|
||||||
name: Deploy to GitHub Pages
|
name: Deploy to GitHub Pages
|
||||||
|
|
||||||
|
env:
|
||||||
|
PROJECT_PATH: src/TraceGui.Web/AvaloniaDemo.Web.csproj
|
||||||
|
OUTPUT_PATH: src/TraceGui.Web/bin/Release/net7.0/browser-wasm/AppBundle
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches: [ main ]
|
branches: [ main ]
|
||||||
|
@ -14,23 +17,32 @@ jobs:
|
||||||
uses: actions/setup-dotnet@v1.9.0
|
uses: actions/setup-dotnet@v1.9.0
|
||||||
|
|
||||||
- name: Install wasm-tools
|
- name: Install wasm-tools
|
||||||
run: dotnet workload install wasm-tools
|
run: dotnet workload install wasm-tools wasm-experimental
|
||||||
|
|
||||||
|
- name: Install DotNetCompress
|
||||||
|
run: dotnet tool install --global DotNetCompress --version 2.0.0 --no-cache
|
||||||
|
|
||||||
- name: Publish .NET Project
|
- name: Publish .NET Project
|
||||||
run: dotnet publish src/TraceGui.Web/TraceGui.Web.csproj -c Release -o release --nologo
|
run: dotnet publish $PROJECT_PATH -c Release -o release --nologo
|
||||||
|
|
||||||
- name: Change base-tag in index.html from / to Trace
|
- name: Change base-tag in index.html
|
||||||
run: sed -i 's/<base href="\/" \/>/<base href="\/Trace\/" \/>/g' release/wwwroot/index.html
|
run: sed -i 's/<base href="\/" \/>/<base href="\/Trace\/" \/>/g' $OUTPUT_PATH/index.html
|
||||||
|
|
||||||
- name: copy index.html to 404.html
|
- name: copy index.html to 404.html
|
||||||
run: cp release/wwwroot/index.html release/wwwroot/404.html
|
run: cp $OUTPUT_PATH/index.html $OUTPUT_PATH/404.html
|
||||||
|
|
||||||
|
- name: Compress Output using Brotli
|
||||||
|
run: DotNetCompress -d $OUTPUT_PATH/ -p "*.dll" "*.js" "*.wasm" --format br --threads 4
|
||||||
|
|
||||||
|
- name: Compress Output using GZip
|
||||||
|
run: DotNetCompress -d $OUTPUT_PATH -p "*.dll" "*.js" "*.wasm" --format gz --threads 4
|
||||||
|
|
||||||
- name: Add .nojekyll file
|
- name: Add .nojekyll file
|
||||||
run: touch release/wwwroot/.nojekyll
|
run: touch $OUTPUT_PATH/.nojekyll
|
||||||
|
|
||||||
- name: Commit wwwroot to GitHub Pages
|
- name: Commit wwwroot to GitHub Pages
|
||||||
uses: JamesIves/github-pages-deploy-action@4.1.7
|
uses: JamesIves/github-pages-deploy-action@4.1.7
|
||||||
with:
|
with:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
BRANCH: gh-pages
|
BRANCH: gh-pages
|
||||||
FOLDER: release/wwwroot
|
FOLDER: ${{ env.OUTPUT_PATH }}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<Project>
|
<Project>
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<AvaloniaVersion>11.0.0-preview1</AvaloniaVersion>
|
<AvaloniaVersion>11.0.0-preview3</AvaloniaVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
</Project>
|
</Project>
|
||||||
|
|
10
Trace.sln
10
Trace.sln
|
@ -15,6 +15,15 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "build", "build", "{AF45BF73
|
||||||
Directory.Build.props = Directory.Build.props
|
Directory.Build.props = Directory.Build.props
|
||||||
global.json = global.json
|
global.json = global.json
|
||||||
NuGet.Config = NuGet.Config
|
NuGet.Config = NuGet.Config
|
||||||
|
.editorconfig = .editorconfig
|
||||||
|
.gitattributes = .gitattributes
|
||||||
|
.gitignore = .gitignore
|
||||||
|
EndProjectSection
|
||||||
|
EndProject
|
||||||
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "github", "github", "{35942C57-3678-4334-BB46-132D7D6A48F4}"
|
||||||
|
ProjectSection(SolutionItems) = preProject
|
||||||
|
.github\workflows\build.yml = .github\workflows\build.yml
|
||||||
|
.github\workflows\pages.yml = .github\workflows\pages.yml
|
||||||
EndProjectSection
|
EndProjectSection
|
||||||
EndProject
|
EndProject
|
||||||
Global
|
Global
|
||||||
|
@ -45,5 +54,6 @@ Global
|
||||||
{DFDD66F1-AC6E-4663-826B-79CD77A8F0F7} = {F5C0FFC6-7E43-44BE-9E6E-DCD863A94567}
|
{DFDD66F1-AC6E-4663-826B-79CD77A8F0F7} = {F5C0FFC6-7E43-44BE-9E6E-DCD863A94567}
|
||||||
{8D8D05E3-AD27-4294-9669-5E50C5D499C1} = {F5C0FFC6-7E43-44BE-9E6E-DCD863A94567}
|
{8D8D05E3-AD27-4294-9669-5E50C5D499C1} = {F5C0FFC6-7E43-44BE-9E6E-DCD863A94567}
|
||||||
{4DD734AD-8898-41C7-A279-67C98AF2F386} = {F5C0FFC6-7E43-44BE-9E6E-DCD863A94567}
|
{4DD734AD-8898-41C7-A279-67C98AF2F386} = {F5C0FFC6-7E43-44BE-9E6E-DCD863A94567}
|
||||||
|
{35942C57-3678-4334-BB46-132D7D6A48F4} = {AF45BF73-3CF1-4802-B967-767EA3220255}
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
EndGlobal
|
EndGlobal
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"sdk": {
|
"sdk": {
|
||||||
"version": "6.0.100",
|
"version": "7.0.100-rc.2.22477.23",
|
||||||
"rollForward": "latestMinor",
|
"rollForward": "latestMinor",
|
||||||
"allowPrerelease": true
|
"allowPrerelease": true
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<OutputType>Exe</OutputType>
|
<OutputType>Exe</OutputType>
|
||||||
<TargetFramework>net6.0</TargetFramework>
|
<TargetFramework>net7.0</TargetFramework>
|
||||||
<RootNamespace>TraceCli</RootNamespace>
|
<RootNamespace>TraceCli</RootNamespace>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<OutputType>Library</OutputType>
|
<OutputType>Library</OutputType>
|
||||||
<TargetFramework>net6.0</TargetFramework>
|
<TargetFramework>net7.0</TargetFramework>
|
||||||
<Nullable>enable</Nullable>
|
<Nullable>enable</Nullable>
|
||||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||||
<RootNamespace>TraceGui</RootNamespace>
|
<RootNamespace>TraceGui</RootNamespace>
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<OutputType>WinExe</OutputType>
|
<OutputType>WinExe</OutputType>
|
||||||
<TargetFramework>net6.0</TargetFramework>
|
<TargetFramework>net7.0</TargetFramework>
|
||||||
<Nullable>enable</Nullable>
|
<Nullable>enable</Nullable>
|
||||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||||
<RootNamespace>TraceGui.Desktop</RootNamespace>
|
<RootNamespace>TraceGui.Desktop</RootNamespace>
|
||||||
|
|
|
@ -1,10 +0,0 @@
|
||||||
<Router AppAssembly="@typeof(Program).Assembly" PreferExactMatches="@true">
|
|
||||||
<Found Context="routeData">
|
|
||||||
<RouteView RouteData="@routeData" DefaultLayout="@typeof(MainLayout)" />
|
|
||||||
</Found>
|
|
||||||
<NotFound>
|
|
||||||
<LayoutView Layout="@typeof(MainLayout)">
|
|
||||||
<p>Sorry, there's nothing at this address.</p>
|
|
||||||
</LayoutView>
|
|
||||||
</NotFound>
|
|
||||||
</Router>
|
|
|
@ -1,14 +0,0 @@
|
||||||
using Avalonia.Web.Blazor;
|
|
||||||
|
|
||||||
namespace TraceGui.Web;
|
|
||||||
|
|
||||||
public partial class App
|
|
||||||
{
|
|
||||||
protected override void OnParametersSet()
|
|
||||||
{
|
|
||||||
base.OnParametersSet();
|
|
||||||
|
|
||||||
WebAppBuilder.Configure<TraceGui.App>()
|
|
||||||
.SetupWithSingleViewLifetime();
|
|
||||||
}
|
|
||||||
}
|
|
До Ширина: | Высота: | Размер: 1.2 KiB После Ширина: | Высота: | Размер: 1.2 KiB |
|
@ -0,0 +1,64 @@
|
||||||
|
.highlight {
|
||||||
|
color: white;
|
||||||
|
font-size: 2.5rem;
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.purple {
|
||||||
|
color: #8b44ac;
|
||||||
|
}
|
||||||
|
|
||||||
|
.icon {
|
||||||
|
opacity : 0.05;
|
||||||
|
height: 35%;
|
||||||
|
width: 35%;
|
||||||
|
position : absolute;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
right: 0px;
|
||||||
|
bottom: 0px;
|
||||||
|
margin-right: 3%;
|
||||||
|
margin-bottom: 5%;
|
||||||
|
z-index: 5000;
|
||||||
|
background-position: right bottom;
|
||||||
|
pointer-events: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
#avalonia-splash a{
|
||||||
|
color: whitesmoke;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.center {
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
height: 100vh;
|
||||||
|
}
|
||||||
|
|
||||||
|
#avalonia-splash {
|
||||||
|
position: relative;
|
||||||
|
height: 100%;
|
||||||
|
width: 100%;
|
||||||
|
color: whitesmoke;
|
||||||
|
background: #1b2a4e;
|
||||||
|
font-family: 'Nunito', sans-serif;
|
||||||
|
background-position: center;
|
||||||
|
background-size: cover;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.splash-close {
|
||||||
|
animation: fadeout 0.25s linear forwards;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes fadeout {
|
||||||
|
0% {
|
||||||
|
opacity:100%;
|
||||||
|
}
|
||||||
|
100% {
|
||||||
|
opacity:0;
|
||||||
|
visibility: collapse;
|
||||||
|
}
|
||||||
|
}
|
Двоичный файл не отображается.
После Ширина: | Высота: | Размер: 399 B |
|
@ -0,0 +1,31 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<title>Trace</title>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<base href="/" />
|
||||||
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||||
|
<link href="https://fonts.googleapis.com/css2?family=Nunito:wght@200;300;400;500;600;700&family=Open+Sans:wght@600&display=swap" rel="stylesheet">
|
||||||
|
<link rel="modulepreload" href="./main.js" />
|
||||||
|
<link rel="modulepreload" href="./dotnet.js" />
|
||||||
|
<link rel="modulepreload" href="./avalonia.js" />
|
||||||
|
<link rel="stylesheet" href="./app.css" />
|
||||||
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body style="margin: 0px">
|
||||||
|
<div id="out">
|
||||||
|
<div id="avalonia-splash">
|
||||||
|
<div class="center">
|
||||||
|
<h2 class="purple">
|
||||||
|
Powered by
|
||||||
|
<a class="highlight" href="https://www.avaloniaui.net/" target="_blank">Avalonia UI</a></h2>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<script type='module' src="./main.js"></script>
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
|
@ -0,0 +1,16 @@
|
||||||
|
import { dotnet } from './dotnet.js'
|
||||||
|
import { registerAvaloniaModule } from './avalonia.js';
|
||||||
|
|
||||||
|
const is_browser = typeof window != "undefined";
|
||||||
|
if (!is_browser) throw new Error(`Expected to be running in a browser`);
|
||||||
|
|
||||||
|
const dotnetRuntime = await dotnet
|
||||||
|
.withDiagnosticTracing(false)
|
||||||
|
.withApplicationArgumentsFromQuery()
|
||||||
|
.create();
|
||||||
|
|
||||||
|
await registerAvaloniaModule(dotnetRuntime);
|
||||||
|
|
||||||
|
const config = dotnetRuntime.getConfig();
|
||||||
|
|
||||||
|
await dotnetRuntime.runMainAndExit(config.mainAssemblyName, [window.location.search]);
|
|
@ -0,0 +1,10 @@
|
||||||
|
{
|
||||||
|
"routes": [
|
||||||
|
{
|
||||||
|
"route": "/*",
|
||||||
|
"headers": {
|
||||||
|
"Cache-Control": "public, must-revalidate, max-age=2419200"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -1,4 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" ?>
|
|
||||||
<linker>
|
|
||||||
<assembly fullname="TraceGui.Web" preserve="All" />
|
|
||||||
</linker>
|
|
|
@ -1,5 +0,0 @@
|
||||||
@page "/"
|
|
||||||
|
|
||||||
@using Avalonia.Web.Blazor
|
|
||||||
|
|
||||||
<AvaloniaView />
|
|
|
@ -1,26 +1,15 @@
|
||||||
using System;
|
using System.Runtime.Versioning;
|
||||||
using System.Net.Http;
|
using Avalonia;
|
||||||
using System.Threading.Tasks;
|
using Avalonia.Web;
|
||||||
using Microsoft.AspNetCore.Components.WebAssembly.Hosting;
|
using TraceGui;
|
||||||
using Microsoft.Extensions.DependencyInjection;
|
|
||||||
|
|
||||||
namespace TraceGui.Web;
|
[assembly:SupportedOSPlatform("browser")]
|
||||||
|
|
||||||
public class Program
|
internal class Program
|
||||||
{
|
{
|
||||||
public static async Task Main(string[] args)
|
private static void Main(string[] args)
|
||||||
{
|
=> BuildAvaloniaApp().SetupBrowserApp("out");
|
||||||
await CreateHostBuilder(args).Build().RunAsync();
|
|
||||||
}
|
|
||||||
|
|
||||||
public static WebAssemblyHostBuilder CreateHostBuilder(string[] args)
|
public static AppBuilder BuildAvaloniaApp()
|
||||||
{
|
=> AppBuilder.Configure<App>();
|
||||||
var builder = WebAssemblyHostBuilder.CreateDefault(args);
|
|
||||||
|
|
||||||
builder.RootComponents.Add<App>("#app");
|
|
||||||
|
|
||||||
builder.Services.AddScoped(sp => new HttpClient { BaseAddress = new Uri(builder.HostEnvironment.BaseAddress) });
|
|
||||||
|
|
||||||
return builder;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,30 +0,0 @@
|
||||||
{
|
|
||||||
"iisSettings": {
|
|
||||||
"windowsAuthentication": false,
|
|
||||||
"anonymousAuthentication": true,
|
|
||||||
"iisExpress": {
|
|
||||||
"applicationUrl": "http://localhost:13961",
|
|
||||||
"sslPort": 44319
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"profiles": {
|
|
||||||
"TraceGui.Web - IIS Express": {
|
|
||||||
"commandName": "IISExpress",
|
|
||||||
"launchBrowser": true,
|
|
||||||
"inspectUri": "{wsProtocol}://{url.hostname}:{url.port}/_framework/debug/ws-proxy?browser={browserInspectUri}",
|
|
||||||
"environmentVariables": {
|
|
||||||
"ASPNETCORE_ENVIRONMENT": "Development"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"TraceGui.Web": {
|
|
||||||
"commandName": "Project",
|
|
||||||
"dotnetRunMessages": "true",
|
|
||||||
"launchBrowser": true,
|
|
||||||
"inspectUri": "{wsProtocol}://{url.hostname}:{url.port}/_framework/debug/ws-proxy?browser={browserInspectUri}",
|
|
||||||
"applicationUrl": "https://localhost:5001;http://localhost:5000",
|
|
||||||
"environmentVariables": {
|
|
||||||
"ASPNETCORE_ENVIRONMENT": "Development"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -0,0 +1,12 @@
|
||||||
|
<linker>
|
||||||
|
|
||||||
|
<!-- App -->
|
||||||
|
|
||||||
|
<assembly fullname="TraceGui.Base" preserve="All" />
|
||||||
|
<assembly fullname="TraceGui.Web" preserve="All" />
|
||||||
|
|
||||||
|
<!-- Avalonia Themes -->
|
||||||
|
|
||||||
|
<assembly fullname="Avalonia.Themes.Fluent" preserve="All" />
|
||||||
|
|
||||||
|
</linker>
|
|
@ -1,7 +0,0 @@
|
||||||
@inherits LayoutComponentBase
|
|
||||||
|
|
||||||
<div class="page">
|
|
||||||
<div class="main">
|
|
||||||
@Body
|
|
||||||
</div>
|
|
||||||
</div>
|
|
|
@ -1,70 +0,0 @@
|
||||||
.page {
|
|
||||||
position: relative;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
}
|
|
||||||
|
|
||||||
.main {
|
|
||||||
flex: 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sidebar {
|
|
||||||
background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
|
|
||||||
}
|
|
||||||
|
|
||||||
.top-row {
|
|
||||||
background-color: #f7f7f7;
|
|
||||||
border-bottom: 1px solid #d6d5d5;
|
|
||||||
justify-content: flex-end;
|
|
||||||
height: 3.5rem;
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
.top-row ::deep a, .top-row .btn-link {
|
|
||||||
white-space: nowrap;
|
|
||||||
margin-left: 1.5rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.top-row a:first-child {
|
|
||||||
overflow: hidden;
|
|
||||||
text-overflow: ellipsis;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (max-width: 640.98px) {
|
|
||||||
.top-row:not(.auth) {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.top-row.auth {
|
|
||||||
justify-content: space-between;
|
|
||||||
}
|
|
||||||
|
|
||||||
.top-row a, .top-row .btn-link {
|
|
||||||
margin-left: 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (min-width: 641px) {
|
|
||||||
.page {
|
|
||||||
flex-direction: row;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sidebar {
|
|
||||||
width: 250px;
|
|
||||||
height: 100vh;
|
|
||||||
position: sticky;
|
|
||||||
top: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.top-row {
|
|
||||||
position: sticky;
|
|
||||||
top: 0;
|
|
||||||
z-index: 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
.main > div {
|
|
||||||
padding-left: 2rem !important;
|
|
||||||
padding-right: 1.5rem !important;
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,63 +1,29 @@
|
||||||
<Project Sdk="Microsoft.NET.Sdk.BlazorWebAssembly">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
<PropertyGroup>
|
|
||||||
<TargetFramework>net6.0</TargetFramework>
|
|
||||||
<IsPackable>False</IsPackable>
|
|
||||||
<Nullable>enable</Nullable>
|
|
||||||
<RootNamespace>TraceGui.Web</RootNamespace>
|
|
||||||
<EmccTotalMemory>16777216</EmccTotalMemory>
|
|
||||||
<BlazorEnableTimeZoneSupport>false</BlazorEnableTimeZoneSupport>
|
|
||||||
<BlazorWebAssemblyPreserveCollationData>false</BlazorWebAssemblyPreserveCollationData>
|
|
||||||
</PropertyGroup>
|
|
||||||
|
|
||||||
<!-- In debug, make builds faster by reducing optimizations -->
|
|
||||||
<PropertyGroup Condition="'$(Configuration)' == 'Debug'">
|
|
||||||
<WasmNativeStrip>false</WasmNativeStrip>
|
|
||||||
<EmccCompileOptimizationFlag>-O1</EmccCompileOptimizationFlag>
|
|
||||||
<RunAOTCompilation>false</RunAOTCompilation>
|
|
||||||
<Optimize>true</Optimize>
|
|
||||||
</PropertyGroup>
|
|
||||||
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
|
|
||||||
<Optimize>true</Optimize>
|
|
||||||
<WasmNativeStrip>true</WasmNativeStrip>
|
|
||||||
<EmccCompileOptimizationFlag>-O3</EmccCompileOptimizationFlag>
|
|
||||||
<EmccLinkOptimizationFlag>-O3</EmccLinkOptimizationFlag>
|
|
||||||
<RunAOTCompilation>false</RunAOTCompilation>
|
|
||||||
</PropertyGroup>
|
|
||||||
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
|
|
||||||
<DebuggerSupport>false</DebuggerSupport>
|
|
||||||
<EnableUnsafeBinaryFormatterSerialization>false</EnableUnsafeBinaryFormatterSerialization>
|
|
||||||
<EnableUnsafeUTF7Encoding>false</EnableUnsafeUTF7Encoding>
|
|
||||||
<EventSourceSupport>false</EventSourceSupport>
|
|
||||||
<HttpActivityPropagationSupport>false</HttpActivityPropagationSupport>
|
|
||||||
<InvariantGlobalization>true</InvariantGlobalization>
|
|
||||||
<MetadataUpdaterSupport>false</MetadataUpdaterSupport>
|
|
||||||
<UseNativeHttpHandler>true</UseNativeHttpHandler>
|
|
||||||
<UseSystemResourceKeys>true</UseSystemResourceKeys>
|
|
||||||
<PublishTrimmed>true</PublishTrimmed>
|
|
||||||
<TrimMode>link</TrimMode>
|
|
||||||
<TrimmerRemoveSymbols>true</TrimmerRemoveSymbols>
|
|
||||||
</PropertyGroup>
|
|
||||||
|
|
||||||
<ItemGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
|
|
||||||
<BlazorLinkerDescriptor Include="LinkerConfig.xml" />
|
|
||||||
<TrimmableAssembly Include="Microsoft.CodeAnalysis" />
|
|
||||||
<TrimmableAssembly Include="Microsoft.CodeAnalysis.CSharp" />
|
|
||||||
<TrimmableAssembly Include="Microsoft.CodeAnalysis.CSharp.Scripting" />
|
|
||||||
<TrimmableAssembly Include="Microsoft.CodeAnalysis.Scripting" />
|
|
||||||
<TrimmableAssembly Include="Avalonia.Controls.DataGrid" />
|
|
||||||
<TrimmableAssembly Include="Avalonia.Themes.Default" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<BlazorEnableCompression>true</BlazorEnableCompression>
|
<TargetFramework>net7.0</TargetFramework>
|
||||||
|
<RuntimeIdentifier>browser-wasm</RuntimeIdentifier>
|
||||||
|
<WasmMainJSPath>AppBundle\main.js</WasmMainJSPath>
|
||||||
|
<OutputType>Exe</OutputType>
|
||||||
|
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||||
|
<MSBuildEnableWorkloadResolver>true</MSBuildEnableWorkloadResolver>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="6.0.0" />
|
<TrimmerRootDescriptor Include="Roots.xml" />
|
||||||
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="6.0.0" PrivateAssets="all" />
|
</ItemGroup>
|
||||||
<PackageReference Include="Avalonia.Web.Blazor" Version="$(AvaloniaVersion)" />
|
|
||||||
|
<ItemGroup>
|
||||||
|
<WasmExtraFilesToDeploy Include="AppBundle\app.css" />
|
||||||
|
<WasmExtraFilesToDeploy Include="AppBundle\favicon.ico" />
|
||||||
|
<WasmExtraFilesToDeploy Include="AppBundle\index.html" />
|
||||||
|
<WasmExtraFilesToDeploy Include="AppBundle\Logo.svg" />
|
||||||
|
<WasmExtraFilesToDeploy Include="AppBundle\main.js" />
|
||||||
|
<WasmExtraFilesToDeploy Include="AppBundle\staticwebapp.config.json" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<PackageReference Include="Avalonia.Web" Version="$(AvaloniaVersion)" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|
|
@ -0,0 +1,8 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<ItemGroup>
|
||||||
|
<MissingWorkloadPack Include="Microsoft.NET.Runtime.WebAssembly.Sdk">
|
||||||
|
<Version>6.0.5</Version>
|
||||||
|
</MissingWorkloadPack>
|
||||||
|
</ItemGroup>
|
||||||
|
</Project>
|
|
@ -0,0 +1,8 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<ItemGroup>
|
||||||
|
<MissingWorkloadPack Include="Microsoft.NET.Runtime.MonoTargets.Sdk">
|
||||||
|
<Version>6.0.5</Version>
|
||||||
|
</MissingWorkloadPack>
|
||||||
|
</ItemGroup>
|
||||||
|
</Project>
|
|
@ -0,0 +1,8 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<ItemGroup>
|
||||||
|
<MissingWorkloadPack Include="Microsoft.NETCore.App.Runtime.AOT.Cross.browser-wasm">
|
||||||
|
<Version>6.0.5</Version>
|
||||||
|
</MissingWorkloadPack>
|
||||||
|
</ItemGroup>
|
||||||
|
</Project>
|
|
@ -0,0 +1,8 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<ItemGroup>
|
||||||
|
<MissingWorkloadPack Include="Microsoft.NET.Runtime.Emscripten.Node">
|
||||||
|
<Version>6.0.4</Version>
|
||||||
|
</MissingWorkloadPack>
|
||||||
|
</ItemGroup>
|
||||||
|
</Project>
|
|
@ -1,10 +0,0 @@
|
||||||
@using System.Net.Http
|
|
||||||
@using System.Net.Http.Json
|
|
||||||
@using Microsoft.AspNetCore.Components.Forms
|
|
||||||
@using Microsoft.AspNetCore.Components.Routing
|
|
||||||
@using Microsoft.AspNetCore.Components.Web
|
|
||||||
@using Microsoft.AspNetCore.Components.Web.Virtualization
|
|
||||||
@using Microsoft.AspNetCore.Components.WebAssembly.Http
|
|
||||||
@using Microsoft.JSInterop
|
|
||||||
@using TraceGui.Web
|
|
||||||
@using TraceGui.Web.Shared
|
|
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"wasmHostProperties": {
|
||||||
|
"perHostConfig": [
|
||||||
|
{
|
||||||
|
"name": "browser",
|
||||||
|
"html-path": "index.html",
|
||||||
|
"Host": "browser"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,79 +0,0 @@
|
||||||
html, body {
|
|
||||||
font-family: "Nunito", sans-serif;
|
|
||||||
margin: 0;
|
|
||||||
height: 100vh;
|
|
||||||
overflow: hidden;
|
|
||||||
}
|
|
||||||
|
|
||||||
a {
|
|
||||||
text-decoration: none;
|
|
||||||
color: white;
|
|
||||||
}
|
|
||||||
|
|
||||||
#blazor-error-ui {
|
|
||||||
background: lightyellow;
|
|
||||||
bottom: 0;
|
|
||||||
box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
|
|
||||||
display: none;
|
|
||||||
left: 0;
|
|
||||||
padding: 0.6rem 1.25rem 0.7rem 1.25rem;
|
|
||||||
position: fixed;
|
|
||||||
width: 100%;
|
|
||||||
z-index: 1000;
|
|
||||||
}
|
|
||||||
|
|
||||||
#blazor-error-ui .dismiss {
|
|
||||||
cursor: pointer;
|
|
||||||
position: absolute;
|
|
||||||
right: 0.75rem;
|
|
||||||
top: 0.5rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.canvas-container {
|
|
||||||
opacity:1;
|
|
||||||
position:fixed;
|
|
||||||
width:100%;
|
|
||||||
height:100%;
|
|
||||||
top:0px;
|
|
||||||
left:0px;
|
|
||||||
z-index:500;
|
|
||||||
}
|
|
||||||
|
|
||||||
canvas
|
|
||||||
{
|
|
||||||
opacity:1;
|
|
||||||
position:fixed;
|
|
||||||
width:100%;
|
|
||||||
height:100%;
|
|
||||||
top:0px;
|
|
||||||
left:0px;
|
|
||||||
z-index:500;
|
|
||||||
}
|
|
||||||
|
|
||||||
#app, .page {
|
|
||||||
height: 100%;
|
|
||||||
background: #171C2C;
|
|
||||||
color: white;
|
|
||||||
}
|
|
||||||
|
|
||||||
.navbar-brand {
|
|
||||||
font-size: 22px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.overlay{
|
|
||||||
opacity:0.0;
|
|
||||||
position:fixed;
|
|
||||||
width:100vw;
|
|
||||||
height:100vh;
|
|
||||||
top:0px;
|
|
||||||
left:0px;
|
|
||||||
z-index:1000;
|
|
||||||
}
|
|
||||||
|
|
||||||
#splash {
|
|
||||||
display: flex;
|
|
||||||
justify-content: center;
|
|
||||||
align-items: center;
|
|
||||||
text-align: center;
|
|
||||||
min-height: 100vh;
|
|
||||||
}
|
|
Двоичные данные
src/TraceGui.Web/wwwroot/favicon.ico
Двоичные данные
src/TraceGui.Web/wwwroot/favicon.ico
Двоичный файл не отображается.
До Ширина: | Высота: | Размер: 172 KiB |
|
@ -1,54 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8" />
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
|
|
||||||
<title>Trace</title>
|
|
||||||
<base href="/" />
|
|
||||||
<link href="css/app.css" rel="stylesheet" />
|
|
||||||
</head>
|
|
||||||
|
|
||||||
<body>
|
|
||||||
<div id="app">
|
|
||||||
<div id="splash">
|
|
||||||
<h2>Powered by</h2>
|
|
||||||
<a class="navbar-brand" href="https://www.avaloniaui.net/" target="_blank">
|
|
||||||
<img src="Logo.svg" alt="Avalonia Logo" width="30" height="24" class="d-inline-block align-text-top">
|
|
||||||
Avalonia
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="blazor-error-ui">
|
|
||||||
An unhandled error has occurred.
|
|
||||||
<a href="" class="reload">Reload</a>
|
|
||||||
<a class="dismiss">🗙</a>
|
|
||||||
</div>
|
|
||||||
<script src="js/app.js"></script>
|
|
||||||
<script src="_framework/blazor.webassembly.js" autostart="true"></script>
|
|
||||||
<!--<script type="module">
|
|
||||||
import { BrotliDecode } from './js/decode.min.js';
|
|
||||||
Blazor.start({
|
|
||||||
loadBootResource: function (type, name, defaultUri, integrity) {
|
|
||||||
if (type !== 'dotnetjs' && location.hostname !== 'localhost') {
|
|
||||||
return (async function () {
|
|
||||||
const response = await fetch(defaultUri + '.br', { cache: 'no-cache' });
|
|
||||||
if (!response.ok) {
|
|
||||||
throw new Error(response.statusText);
|
|
||||||
}
|
|
||||||
const originalResponseBuffer = await response.arrayBuffer();
|
|
||||||
const originalResponseArray = new Int8Array(originalResponseBuffer);
|
|
||||||
const decompressedResponseArray = BrotliDecode(originalResponseArray);
|
|
||||||
const contentType = type ===
|
|
||||||
'dotnetwasm' ? 'application/wasm' : 'application/octet-stream';
|
|
||||||
return new Response(decompressedResponseArray,
|
|
||||||
{ headers: { 'content-type': contentType } });
|
|
||||||
})();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
</script>-->
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
|
@ -1 +0,0 @@
|
||||||
|
|
Различия файлов скрыты, потому что одна или несколько строк слишком длинны
Загрузка…
Ссылка в новой задаче