diff --git a/.github/workflows/auto-pull-request-checks.yml b/.github/workflows/auto-pull-request-checks.yml index 52df4bc0f82..9884c1c6be1 100644 --- a/.github/workflows/auto-pull-request-checks.yml +++ b/.github/workflows/auto-pull-request-checks.yml @@ -17,7 +17,7 @@ jobs: - name: Setup .NET SDK uses: actions/setup-dotnet@v4 with: - dotnet-version: 9.0.x + dotnet-version: 10.0.x - name: Cache NuGet packages uses: actions/cache@v4 diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 7d6f96ba520..d6060be9b53 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -16,7 +16,7 @@ jobs: - name: Setup .NET Core SDK uses: actions/setup-dotnet@v4 with: - dotnet-version: 9.0.x + dotnet-version: 10.0.x - name: Cache NuGet packages uses: actions/cache@v4 diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index a5325a453a6..c2789f8cc91 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -15,7 +15,7 @@ jobs: - name: Setup .NET Core SDK uses: actions/setup-dotnet@v4 with: - dotnet-version: 9.0.x + dotnet-version: 10.0.x - name: Publish wasm run: | diff --git a/Version.props b/Version.props index fc5328d51c6..880090f8833 100644 --- a/Version.props +++ b/Version.props @@ -1,7 +1,7 @@ - net9.0 + net10.0 diff --git a/scripts/linux/ba.blazor.service b/scripts/linux/ba.blazor.service index 15f58cd9159..4d52f9d23ff 100644 --- a/scripts/linux/ba.blazor.service +++ b/scripts/linux/ba.blazor.service @@ -7,7 +7,7 @@ Description=Bootstrap Blazor Application Type=simple WorkingDirectory=/usr/local/ba/blazor Environment=ASPNETCORE_ENVIRONMENT=Production -ExecStart=/usr/bin/dotnet BootstrapBlazor.Server.dll --urls http://localhost:50853 +ExecStart=dotnet BootstrapBlazor.Server.dll --urls http://localhost:50853 ExecStop=/bin/kill -2 $MAINPID KillMode=process Restart=on-failure diff --git a/scripts/linux/deploy-blazor.sh b/scripts/linux/deploy-blazor.sh index cef4fd54104..cdb3980f08d 100644 --- a/scripts/linux/deploy-blazor.sh +++ b/scripts/linux/deploy-blazor.sh @@ -10,6 +10,6 @@ curl https://www.blazor.zone/api/dispatch?token=BootstrapBlazor-Reboot dotnet publish src/BootstrapBlazor.Server -c Release systemctl stop ba.blazor -\cp -fr ~/BootstrapBlazor/src/BootstrapBlazor.Server/bin/Release/net9.0/publish/* /usr/local/ba/blazor +\cp -fr ~/BootstrapBlazor/src/BootstrapBlazor.Server/bin/Release/net10.0/publish/* /usr/local/ba/blazor systemctl start ba.blazor systemctl status ba.blazor -l --no-pager diff --git a/scripts/linux/deploy.sh b/scripts/linux/deploy.sh index e0c59da7491..bec807c259b 100644 --- a/scripts/linux/deploy.sh +++ b/scripts/linux/deploy.sh @@ -27,6 +27,7 @@ sudo systemctl enable ba.blazor echo "*********************** install nginx ***********************" yes|sudo apt install nginx +mkdir /usr/share/nginx/logs echo "*********************** copy nginx config ***********************" sudo cp BootstrapBlazor/scripts/linux/nginx.conf /etc/nginx/ diff --git a/src/BootstrapBlazor.Server/Components/Components/BlazorReconnector.razor b/src/BootstrapBlazor.Server/Components/Components/BlazorReconnector.razor index 43dd006aad4..80fbf499f6e 100644 --- a/src/BootstrapBlazor.Server/Components/Components/BlazorReconnector.razor +++ b/src/BootstrapBlazor.Server/Components/Components/BlazorReconnector.razor @@ -67,7 +67,7 @@

一套基于 Bootstrap 样式的企业级 Blazor UI 组件库,支持 Server 与 WebAssembly

-

适配移动端支持各种主流浏览器以及移动端,适配 ABP,同时支持 NET6/NET7/NET8/NET9

+

适配移动端支持各种主流浏览器以及移动端,适配 ABP,同时支持 NET6/NET7/NET8/NET9/NET10

已提供项目模板方便快速上手 项目模板
diff --git a/src/BootstrapBlazor.Server/Components/Layout/ComponentLayout.razor.js b/src/BootstrapBlazor.Server/Components/Layout/ComponentLayout.razor.js index 30e32516adf..608d939d0ca 100644 --- a/src/BootstrapBlazor.Server/Components/Layout/ComponentLayout.razor.js +++ b/src/BootstrapBlazor.Server/Components/Layout/ComponentLayout.razor.js @@ -5,7 +5,7 @@ const el = document.querySelector(anchor) if (el) { const handler = setTimeout(() => { - el.scrollIntoView({ behavior: 'smooth', block: 'center' }) + el.scrollIntoView({ behavior: 'smooth', block: 'start' }) clearTimeout(handler) }, 1000) } diff --git a/src/BootstrapBlazor.Server/Components/Pages/Install_Server.razor b/src/BootstrapBlazor.Server/Components/Pages/Install_Server.razor index 519098b3bc0..060a2874c5e 100644 --- a/src/BootstrapBlazor.Server/Components/Pages/Install_Server.razor +++ b/src/BootstrapBlazor.Server/Components/Pages/Install_Server.razor @@ -21,7 +21,7 @@

Startup.cs

namespace MyBlazorAppName
diff --git a/src/BootstrapBlazor.Server/Components/Pages/Install_wasm.razor b/src/BootstrapBlazor.Server/Components/Pages/Install_wasm.razor
index 173ce794e13..51c4900f769 100644
--- a/src/BootstrapBlazor.Server/Components/Pages/Install_wasm.razor
+++ b/src/BootstrapBlazor.Server/Components/Pages/Install_wasm.razor
@@ -46,7 +46,7 @@ static async Task SetCultureAsync(WebAssemblyHost host)
     
     
         
    -
  • App.razor NET6/NET7/NET8/NET9
  • +
  • App.razor NET6/NET7/NET8/NET9/NET10
// NET6/NET7
diff --git a/src/BootstrapBlazor.Server/Components/Pages/NotFound.razor b/src/BootstrapBlazor.Server/Components/Pages/NotFound.razor
new file mode 100644
index 00000000000..5a5c38f5575
--- /dev/null
+++ b/src/BootstrapBlazor.Server/Components/Pages/NotFound.razor
@@ -0,0 +1,12 @@
+@page "/not-found"
+@layout MainLayout
+@inject NavigationManager NavigationManager
+
+@code {
+    protected override void OnInitialized()
+    {
+        base.OnInitialized();
+
+        NavigationManager.NavigateTo("/");
+    }
+}
diff --git a/src/BootstrapBlazor.Server/Components/Routes.razor b/src/BootstrapBlazor.Server/Components/Routes.razor
index bb2e405ae65..14e276f2187 100644
--- a/src/BootstrapBlazor.Server/Components/Routes.razor
+++ b/src/BootstrapBlazor.Server/Components/Routes.razor
@@ -1,4 +1,4 @@
-
+
     
         
         
diff --git a/src/BootstrapBlazor.Server/Components/Samples/Reconnectors.razor b/src/BootstrapBlazor.Server/Components/Samples/Reconnectors.razor
index 502d5cc71d9..0b20b294b42 100644
--- a/src/BootstrapBlazor.Server/Components/Samples/Reconnectors.razor
+++ b/src/BootstrapBlazor.Server/Components/Samples/Reconnectors.razor
@@ -97,7 +97,7 @@
                 

基于 Bootstrap 样式的 Blazor UI 组件库

-

适配移动端支持各种主流浏览器,适配 ABP,同时支持 NET6/NET7/NET8/NET9,交流群 795206915

+

适配移动端支持各种主流浏览器,适配 ABP,同时支持 NET6/NET7/NET8/NET9/NET10,交流群 795206915

已提供项目模板方便快速上手 项目模板

@@ -126,7 +126,7 @@ <div class="d-flex"> <div class="flex-fill"> <div class="mb-2">基于 <b>Bootstrap</b> 样式的 <b>Blazor UI</b> 组件库</div> - <div class="mb-2">适配移动端支持各种主流浏览器,适配 <b>ABP</b>,同时支持 <b>NET6/NET7/NET8/NET9</b>,交流群 <b>795206915</b></div> + <div class="mb-2">适配移动端支持各种主流浏览器,适配 <b>ABP</b>,同时支持 <b>NET6/NET7/NET8/NET9/NET10</b>,交流群 <b>795206915</b></div> <div>已提供项目模板方便快速上手 <a class="connection-link" href="@TemplateUrl">项目模板</a></div> </div> <div class="connection-body-tail d-none d-sm-block"></div> @@ -187,7 +187,7 @@ <div class="d-flex"> <div class="flex-fill"> <div class="mb-2">基于 <b>Bootstrap</b> 样式的 <b>Blazor UI</b> 组件库</div> - <div class="mb-2">适配移动端支持各种主流浏览器,适配 <b>ABP</b>,同时支持 <b>NET6/NET7/NET8/NET9</b>,交流群 <b>795206915</b></div> + <div class="mb-2">适配移动端支持各种主流浏览器,适配 <b>ABP</b>,同时支持 <b>NET6/NET7/NET8/NET9/NET10</b>,交流群 <b>795206915</b></div> <div>已提供项目模板方便快速上手 <a class="connection-link" href="@TemplateUrl">项目模板</a></div> </div> <div class="connection-body-tail d-none d-sm-block"></div> @@ -248,7 +248,7 @@ <div class="d-flex"> <div class="flex-fill"> <div class="mb-2">基于 <b>Bootstrap</b> 样式的 <b>Blazor UI</b> 组件库</div> - <div class="mb-2">适配移动端支持各种主流浏览器,适配 <b>ABP</b>,同时支持 <b>NET6/NET7/NET8/NET9</b>,交流群 <b>795206915</b></div> + <div class="mb-2">适配移动端支持各种主流浏览器,适配 <b>ABP</b>,同时支持 <b>NET6/NET7/NET8/NET9/NET10</b>,交流群 <b>795206915</b></div> <div>已提供项目模板方便快速上手 <a class="connection-link" href="@TemplateUrl">项目模板</a></div> </div> <div class="connection-body-tail d-none d-sm-block"></div> diff --git a/src/BootstrapBlazor.Server/Locales/en-US.json b/src/BootstrapBlazor.Server/Locales/en-US.json index 38474457e23..6ad64c18293 100644 --- a/src/BootstrapBlazor.Server/Locales/en-US.json +++ b/src/BootstrapBlazor.Server/Locales/en-US.json @@ -34,7 +34,7 @@ "CopiedText": "Copied" }, "BootstrapBlazor.Server.Components.Pages.Index": { - "Support": "Support NET6.0 & NET7.0 & NET8.0 & NET9.0", + "Support": "Support NET6.0 & NET7.0 & NET8.0 & NET9.0 & NET10.0", "Title": "Bootstrap Blazor UI", "SubTitle": "BootstrapBlazor is an enterprise-grade library that fuses Bootstrap with Blazor, offering developers a powerful toolkit for building responsive and interactive web applications effortlessly.", "Docs": "Read the docs", diff --git a/src/BootstrapBlazor.Server/Locales/zh-CN.json b/src/BootstrapBlazor.Server/Locales/zh-CN.json index 5e9eea1bf1b..1e3a21ccf11 100644 --- a/src/BootstrapBlazor.Server/Locales/zh-CN.json +++ b/src/BootstrapBlazor.Server/Locales/zh-CN.json @@ -34,7 +34,7 @@ "CopiedText": "复制代码成功" }, "BootstrapBlazor.Server.Components.Pages.Index": { - "Support": "支持 NET6.0 & NET7.0 & NET8.0 & NET9.0", + "Support": "支持 NET6.0 & NET7.0 & NET8.0 & NET9.0 & NET10.0", "Title": "Bootstrap Blazor UI", "SubTitle": "BootstrapBlazor 是一套基于 Bootstrap 和 Blazor 的企业级组件库,无缝整合了 Bootstrap 框架与 Blazor 技术。它提供了一整套强大的工具,使开发者能够轻松创建响应式和交互式的 Web 应用程序。", "Docs": "阅读文档", diff --git a/src/BootstrapBlazor/Directory.Build.props b/src/BootstrapBlazor/Directory.Build.props index 46f7181c437..cdd40ac8d64 100644 --- a/src/BootstrapBlazor/Directory.Build.props +++ b/src/BootstrapBlazor/Directory.Build.props @@ -17,7 +17,7 @@ - net6.0;net7.0;net8.0;net9.0 + net6.0;net7.0;net8.0;net9.0;net10.0 @@ -25,6 +25,7 @@ 7.0.* 8.0.* 9.0.* + 10.0.0-rc* @@ -69,6 +70,16 @@ + + + + + + + + + + diff --git a/test/UnitTest/Utils/UtilityTest.cs b/test/UnitTest/Utils/UtilityTest.cs index bfbf3d58ad6..a0ce8f0a1d7 100644 --- a/test/UnitTest/Utils/UtilityTest.cs +++ b/test/UnitTest/Utils/UtilityTest.cs @@ -393,7 +393,7 @@ public void GetJsonStringByTypeName_UseKeyWhenValueIsNull() var test1 = items.FirstOrDefault(i => i.Name == "Test-Null"); Assert.NotNull(test1); - Assert.Equal("", test1.Value); + Assert.Equal("Test-Null", test1.Value); var test2 = items.FirstOrDefault(i => i.Name == "Test-Key"); Assert.NotNull(test2);