From 0ece21631fb3cec6dceccae7d2f723402aba2625 Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Mon, 10 Nov 2025 11:31:21 +0800 Subject: [PATCH 1/3] =?UTF-8?q?chore:=20=E6=9B=B4=E6=96=B0=E5=8D=95?= =?UTF-8?q?=E5=85=83=E6=B5=8B=E8=AF=95=E7=B2=BE=E7=AE=80=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- test/Directory.Build.props | 13 +++++++++++++ test/UnitTestEditor/UnitTestEditor.csproj | 10 ---------- test/UnitTestHoliday/UnitTestHoliday.csproj | 13 ------------- test/UnitTestOpcDa/UnitTestOpcDa.csproj | 7 ------- test/UnitTestOpcUa/UnitTestOpcUa.csproj | 7 ------- test/UnitTestRegion/UnitTestRegion.csproj | 6 ------ test/UnitTestSvgIcon/UnitTestSvgIcon.csproj | 10 ---------- 7 files changed, 13 insertions(+), 53 deletions(-) diff --git a/test/Directory.Build.props b/test/Directory.Build.props index 3cc85025..d8aaac2b 100644 --- a/test/Directory.Build.props +++ b/test/Directory.Build.props @@ -11,6 +11,19 @@ net9.0 + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + + + diff --git a/test/UnitTestEditor/UnitTestEditor.csproj b/test/UnitTestEditor/UnitTestEditor.csproj index 165ded21..012f192f 100644 --- a/test/UnitTestEditor/UnitTestEditor.csproj +++ b/test/UnitTestEditor/UnitTestEditor.csproj @@ -2,16 +2,6 @@ - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - runtime; build; native; contentfiles; analyzers; buildtransitive - all - diff --git a/test/UnitTestHoliday/UnitTestHoliday.csproj b/test/UnitTestHoliday/UnitTestHoliday.csproj index d91b7a67..f75862b3 100644 --- a/test/UnitTestHoliday/UnitTestHoliday.csproj +++ b/test/UnitTestHoliday/UnitTestHoliday.csproj @@ -1,18 +1,5 @@ - - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - runtime; build; native; contentfiles; analyzers; buildtransitive - all - - - diff --git a/test/UnitTestOpcDa/UnitTestOpcDa.csproj b/test/UnitTestOpcDa/UnitTestOpcDa.csproj index 3eea723d..dbee6f1e 100644 --- a/test/UnitTestOpcDa/UnitTestOpcDa.csproj +++ b/test/UnitTestOpcDa/UnitTestOpcDa.csproj @@ -7,13 +7,6 @@ false - - - - - - - diff --git a/test/UnitTestOpcUa/UnitTestOpcUa.csproj b/test/UnitTestOpcUa/UnitTestOpcUa.csproj index bcd56af9..3237447e 100644 --- a/test/UnitTestOpcUa/UnitTestOpcUa.csproj +++ b/test/UnitTestOpcUa/UnitTestOpcUa.csproj @@ -7,13 +7,6 @@ false - - - - - - - diff --git a/test/UnitTestRegion/UnitTestRegion.csproj b/test/UnitTestRegion/UnitTestRegion.csproj index 15d61006..b02ca2fe 100644 --- a/test/UnitTestRegion/UnitTestRegion.csproj +++ b/test/UnitTestRegion/UnitTestRegion.csproj @@ -7,12 +7,6 @@ false - - - - - - diff --git a/test/UnitTestSvgIcon/UnitTestSvgIcon.csproj b/test/UnitTestSvgIcon/UnitTestSvgIcon.csproj index 9379961a..76f5ba1e 100644 --- a/test/UnitTestSvgIcon/UnitTestSvgIcon.csproj +++ b/test/UnitTestSvgIcon/UnitTestSvgIcon.csproj @@ -2,16 +2,6 @@ - - - - runtime; build; native; contentfiles; analyzers; buildtransitive - all - - - runtime; build; native; contentfiles; analyzers; buildtransitive - all - From 4df88accc9680783182a6c760a6050a8acbe367d Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Mon, 10 Nov 2025 11:31:45 +0800 Subject: [PATCH 2/3] =?UTF-8?q?chore:=20=E7=A7=BB=E5=8A=A8=20Tools=20?= =?UTF-8?q?=E4=BD=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- BootstrapBlazor.Extensions.slnx | 9 +- .../ArgumentsHelper.cs | 6 +- .../BootstrapBlazor.CssBundler.csproj | 10 +- .../BootstrapBlazor.CssBundler.xml | 8 ++ .../BootstrapBlazor.CssBundler/Bundler.cs | 0 .../BundlerOptions.cs | 4 +- .../BootstrapBlazor.CssBundler/Program.cs | 0 tools/BootstrapBlazor.CssBundler/logo.png | Bin 0 -> 6414 bytes tools/BootstrapBlazor.CssBundler/readme.md | 118 ++++++++++++++++++ 9 files changed, 141 insertions(+), 14 deletions(-) rename {src/tools => tools}/BootstrapBlazor.CssBundler/ArgumentsHelper.cs (73%) rename {src/tools => tools}/BootstrapBlazor.CssBundler/BootstrapBlazor.CssBundler.csproj (84%) create mode 100644 tools/BootstrapBlazor.CssBundler/BootstrapBlazor.CssBundler.xml rename {src/tools => tools}/BootstrapBlazor.CssBundler/Bundler.cs (100%) rename {src/tools => tools}/BootstrapBlazor.CssBundler/BundlerOptions.cs (84%) rename {src/tools => tools}/BootstrapBlazor.CssBundler/Program.cs (100%) create mode 100644 tools/BootstrapBlazor.CssBundler/logo.png create mode 100644 tools/BootstrapBlazor.CssBundler/readme.md diff --git a/BootstrapBlazor.Extensions.slnx b/BootstrapBlazor.Extensions.slnx index 93b827a7..c479f482 100644 --- a/BootstrapBlazor.Extensions.slnx +++ b/BootstrapBlazor.Extensions.slnx @@ -103,9 +103,6 @@ - - - @@ -114,4 +111,10 @@ + + + + + + diff --git a/src/tools/BootstrapBlazor.CssBundler/ArgumentsHelper.cs b/tools/BootstrapBlazor.CssBundler/ArgumentsHelper.cs similarity index 73% rename from src/tools/BootstrapBlazor.CssBundler/ArgumentsHelper.cs rename to tools/BootstrapBlazor.CssBundler/ArgumentsHelper.cs index f85a837b..e82b40b6 100644 --- a/src/tools/BootstrapBlazor.CssBundler/ArgumentsHelper.cs +++ b/tools/BootstrapBlazor.CssBundler/ArgumentsHelper.cs @@ -1,4 +1,4 @@ -// Copyright (c) BootstrapBlazor & Argo Zhang (argo@live.ca). All rights reserved. +// Copyright (c) BootstrapBlazor & Argo Zhang (argo@live.ca). All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. // Website: https://www.blazor.zone or https://argozhang.github.io/ @@ -9,9 +9,9 @@ static class ArgumentsHelper public static void PrintHelp() { Console.ForegroundColor = ConsoleColor.Cyan; - Console.WriteLine("Usage: BootstrapBlazorCssBundler [options]"); + Console.WriteLine("Usage: BootstrapBlazor.CssBundler [options]"); Console.WriteLine("Options:"); - Console.WriteLine(" ConfigFileFullPath D:\\Argo\\src\\BootstrapBlazor\\src\\BootstrapBlazor\\bundler.json"); + Console.WriteLine(" ConfigFileFullPath D:\\src\\BootstrapBlazor\\src\\BootstrapBlazor\\bundler.json"); Console.WriteLine(); Console.ForegroundColor = ConsoleColor.Gray; } diff --git a/src/tools/BootstrapBlazor.CssBundler/BootstrapBlazor.CssBundler.csproj b/tools/BootstrapBlazor.CssBundler/BootstrapBlazor.CssBundler.csproj similarity index 84% rename from src/tools/BootstrapBlazor.CssBundler/BootstrapBlazor.CssBundler.csproj rename to tools/BootstrapBlazor.CssBundler/BootstrapBlazor.CssBundler.csproj index e62f48db..a7511ead 100644 --- a/src/tools/BootstrapBlazor.CssBundler/BootstrapBlazor.CssBundler.csproj +++ b/tools/BootstrapBlazor.CssBundler/BootstrapBlazor.CssBundler.csproj @@ -1,15 +1,13 @@  - 1.0.1 - Exe - net9.0 - enable - enable + 9.0.0 - net9.0 + Exe + enable + enable diff --git a/tools/BootstrapBlazor.CssBundler/BootstrapBlazor.CssBundler.xml b/tools/BootstrapBlazor.CssBundler/BootstrapBlazor.CssBundler.xml new file mode 100644 index 00000000..c7e7decc --- /dev/null +++ b/tools/BootstrapBlazor.CssBundler/BootstrapBlazor.CssBundler.xml @@ -0,0 +1,8 @@ + + + + BootstrapBlazor.CssBundler + + + + diff --git a/src/tools/BootstrapBlazor.CssBundler/Bundler.cs b/tools/BootstrapBlazor.CssBundler/Bundler.cs similarity index 100% rename from src/tools/BootstrapBlazor.CssBundler/Bundler.cs rename to tools/BootstrapBlazor.CssBundler/Bundler.cs diff --git a/src/tools/BootstrapBlazor.CssBundler/BundlerOptions.cs b/tools/BootstrapBlazor.CssBundler/BundlerOptions.cs similarity index 84% rename from src/tools/BootstrapBlazor.CssBundler/BundlerOptions.cs rename to tools/BootstrapBlazor.CssBundler/BundlerOptions.cs index c8569952..0d8984a1 100644 --- a/src/tools/BootstrapBlazor.CssBundler/BundlerOptions.cs +++ b/tools/BootstrapBlazor.CssBundler/BundlerOptions.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the Apache 2.0 License // See the LICENSE file in the project root for more information. // Maintainer: Argo Zhang(argo@live.ca) Website: https://www.blazor.zone @@ -17,6 +17,6 @@ public static List LoadFromConfigFile(string configFile) { var json = File.ReadAllText(configFile); - return JsonSerializer.Deserialize>(json, JsonSerializerOptions.Web) ?? new(); + return JsonSerializer.Deserialize>(json, JsonSerializerOptions.Web) ?? []; } } diff --git a/src/tools/BootstrapBlazor.CssBundler/Program.cs b/tools/BootstrapBlazor.CssBundler/Program.cs similarity index 100% rename from src/tools/BootstrapBlazor.CssBundler/Program.cs rename to tools/BootstrapBlazor.CssBundler/Program.cs diff --git a/tools/BootstrapBlazor.CssBundler/logo.png b/tools/BootstrapBlazor.CssBundler/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..a30290780f1d7fbb242279e1ed64a94be6341d16 GIT binary patch literal 6414 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 + + + . . . + + + + . . . + + + + +``` + +3. Open the `~/Startup.cs` file in the and register the `Bootstrap Blazor` service: + + **C#** + +``` +namespace BootstrapBlazorAppName +{ + public class Startup + { + public void ConfigureServices(IServiceCollection services) + { + //more code may be present here + services.AddBootstrapBlazor(); + } + + //more code may be present here + } +} +``` + +## Visual Studio Integration + +To create a new `Bootstrap Blazor` UI for Blazor application, use the Create New Project Wizard. The wizard detects all installed versions of `Bootstrap Blazor` for Blazor and lists them in the Version combobox—this enables you to start your project with the desired version. You can also get the latest version to make sure you are up to date. + +1. Get the Wizard + +To use the Create New Project Wizard, install the `Bootstrap Blazor` UI for Blazor Visual Studio Extensions. You can get it from the: + +- Visual Studio Marketplace (for Windows) + +2. Start the Wizard + +To start the wizard, use either of the following approaches + +### Using the Project menu: + +- Click File > New > Project. +- Find and click the C# Blazor Application option (you can use the search, or filter by Blazor templates). +- Follow the wizard. From f10888703a932ea2924eeb7cab436c5d027929d1 Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Mon, 10 Nov 2025 12:14:50 +0800 Subject: [PATCH 3/3] =?UTF-8?q?chore:=20=E5=A2=9E=E5=8A=A0=20NetFramework?= =?UTF-8?q?=20=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BootstrapBlazor.CssBundler/BootstrapBlazor.CssBundler.csproj | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/BootstrapBlazor.CssBundler/BootstrapBlazor.CssBundler.csproj b/tools/BootstrapBlazor.CssBundler/BootstrapBlazor.CssBundler.csproj index a7511ead..aa1ba360 100644 --- a/tools/BootstrapBlazor.CssBundler/BootstrapBlazor.CssBundler.csproj +++ b/tools/BootstrapBlazor.CssBundler/BootstrapBlazor.CssBundler.csproj @@ -2,6 +2,7 @@ 9.0.0 + net9.0