mirror of
https://gitee.com/LongbowEnterprise/BootstrapBlazor.git
synced 2025-12-06 07:28:50 +08:00
feat(NET10): add NET10 support (#6940)
* doc: 增加 nosnippet 标签 * chore: 增加脚本指纹 * chore: 增加 net10 依赖包 * doc: 增加 NotFound 路由 * chore: 更新网站运行时为 net10 * chore: 更新脚本版本 * refactor: 更改滚动条对齐方式 * chore: 增加 logs 目录自动创建脚本 * chore: 更改输出目录 * chore: 更改 dotnet 命令路径 * doc: 更新支持列表 * doc: 增加 NET10 支持列表 * chore: 更新 slnx 解决方案文件 * chore: 增加 AutoRestart 配置 * refactor: 移除配置项 * chore: 更新依赖包 * test: 更新单元测试
This commit is contained in:
@@ -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
|
||||
|
||||
2
.github/workflows/build.yml
vendored
2
.github/workflows/build.yml
vendored
@@ -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
|
||||
|
||||
2
.github/workflows/publish.yml
vendored
2
.github/workflows/publish.yml
vendored
@@ -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: |
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<Project>
|
||||
|
||||
<PropertyGroup>
|
||||
<RunTargetFramework>net9.0</RunTargetFramework>
|
||||
<RunTargetFramework>net10.0</RunTargetFramework>
|
||||
</PropertyGroup>
|
||||
|
||||
</Project>
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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/
|
||||
|
||||
@@ -67,7 +67,7 @@
|
||||
<div class="d-flex">
|
||||
<div class="flex-fill">
|
||||
<p>一套基于 <b>Bootstrap</b> 样式的企业级 <b>Blazor UI</b> 组件库,支持 Server 与 WebAssembly</p>
|
||||
<p>适配移动端支持各种主流浏览器以及移动端,适配 <b>ABP</b>,同时支持 <b>NET6/NET7/NET8/NET9</b></p>
|
||||
<p>适配移动端支持各种主流浏览器以及移动端,适配 <b>ABP</b>,同时支持 <b>NET6/NET7/NET8/NET9/NET10</b></p>
|
||||
<p></p>
|
||||
<div>已提供项目模板方便快速上手 <a class="connection-link" href="@TemplateUrl" target="_blank">项目模板</a></div>
|
||||
</div>
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
</ScriptsTemplate>
|
||||
<ServicesTemplate>
|
||||
<ul class="ul-demo">
|
||||
<li><code>Program.cs</code> <b>NET6/NET7/NET8/NET9</b></li>
|
||||
<li><code>Program.cs</code> <b>NET6/NET7/NET8/NET9/NET10</b></li>
|
||||
</ul>
|
||||
<p><b>Startup.cs</b></p>
|
||||
<Pre>namespace MyBlazorAppName
|
||||
|
||||
@@ -46,7 +46,7 @@ static async Task SetCultureAsync(WebAssemblyHost host)
|
||||
</ServicesTemplate>
|
||||
<RootTemplate>
|
||||
<ul class="ul-demo">
|
||||
<li><code>App.razor</code> <b>NET6/NET7/NET8/NET9</b></li>
|
||||
<li><code>App.razor</code> <b>NET6/NET7/NET8/NET9/NET10</b></li>
|
||||
</ul>
|
||||
|
||||
<Pre>// NET6/NET7
|
||||
|
||||
12
src/BootstrapBlazor.Server/Components/Pages/NotFound.razor
Normal file
12
src/BootstrapBlazor.Server/Components/Pages/NotFound.razor
Normal file
@@ -0,0 +1,12 @@
|
||||
@page "/not-found"
|
||||
@layout MainLayout
|
||||
@inject NavigationManager NavigationManager
|
||||
|
||||
@code {
|
||||
protected override void OnInitialized()
|
||||
{
|
||||
base.OnInitialized();
|
||||
|
||||
NavigationManager.NavigateTo("/");
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
<Router AppAssembly="@typeof(Program).Assembly">
|
||||
<Router AppAssembly="@typeof(Program).Assembly" NotFoundPage="typeof(Pages.NotFound)">
|
||||
<Found Context="routeData">
|
||||
<RouteView RouteData="@routeData" DefaultLayout="@typeof(MainLayout)" />
|
||||
<FocusOnNavigate RouteData="routeData" Selector="h3" />
|
||||
|
||||
@@ -97,7 +97,7 @@
|
||||
<div class="d-flex">
|
||||
<div class="flex-fill">
|
||||
<p>基于 <b>Bootstrap</b> 样式的 <b>Blazor UI</b> 组件库</p>
|
||||
<p>适配移动端支持各种主流浏览器,适配 <b>ABP</b>,同时支持 <b>NET6/NET7/NET8/NET9</b>,交流群 <b>795206915</b></p>
|
||||
<p>适配移动端支持各种主流浏览器,适配 <b>ABP</b>,同时支持 <b>NET6/NET7/NET8/NET9/NET10</b>,交流群 <b>795206915</b></p>
|
||||
<p>已提供项目模板方便快速上手 <a class="connection-link" href="@TemplateUrl">项目模板</a></p>
|
||||
</div>
|
||||
<div class="connection-body-tail d-none d-sm-block"></div>
|
||||
@@ -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>
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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": "阅读文档",
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFrameworks>net6.0;net7.0;net8.0;net9.0</TargetFrameworks>
|
||||
<TargetFrameworks>net6.0;net7.0;net8.0;net9.0;net10.0</TargetFrameworks>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
@@ -25,6 +25,7 @@
|
||||
<NET7Version>7.0.*</NET7Version>
|
||||
<NET8Version>8.0.*</NET8Version>
|
||||
<NET9Version>9.0.*</NET9Version>
|
||||
<NET10Version>10.0.0-rc*</NET10Version>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup Condition="'$(TargetFramework)' == 'net6.0'">
|
||||
@@ -69,6 +70,16 @@
|
||||
<PackageReference Include="Microsoft.Extensions.Localization" Version="$(NET9Version)" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup Condition="'$(TargetFramework)' == 'net10.0'">
|
||||
<PackageReference Include="Microsoft.AspNetCore.Components.Authorization" Version="$(NET10Version)" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Components.Web" Version="$(NET10Version)" />
|
||||
<PackageReference Include="Microsoft.Extensions.Caching.Memory" Version="$(NET10Version)" />
|
||||
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="$(NET10Version)" />
|
||||
<PackageReference Include="Microsoft.Extensions.Http" Version="$(NET10Version)" />
|
||||
<PackageReference Include="Microsoft.Extensions.Hosting.Abstractions" Version="$(NET10Version)" />
|
||||
<PackageReference Include="Microsoft.Extensions.Localization" Version="$(NET10Version)" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<SupportedPlatform Include="browser" />
|
||||
</ItemGroup>
|
||||
|
||||
@@ -393,7 +393,7 @@ public class UtilityTest : BootstrapBlazorTestBase
|
||||
|
||||
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);
|
||||
|
||||
Reference in New Issue
Block a user