日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

原文:bit.ly/3wFqDy9
作者:Daniel
譯者:王亮

.NET 6 預(yù)覽版 4 現(xiàn)已發(fā)布,其中包括對 ASP.NET Core 的許多新改進(jìn)。

下面是此次預(yù)覽版中 ASP.NET Core 的更新內(nèi)容:

  • 引入最小 API
  • 異步流
  • HTTP 日志中間件
  • 新項(xiàng)目中使用 Kestrel 作為默認(rèn)啟動(dòng)
  • IConnectionSocketFeature
  • 改進(jìn)單頁應(yīng)用程序(SPA)模板
  • 更新了 .NET 熱重載
  • Razor 組件中的泛型約束
  • Blazor 錯(cuò)誤邊界(error boundaries)
  • Blazor WebAssembly 的 AOT 編譯
  • .NET MAUI Blazor 應(yīng)用程序
  • 其他性能改進(jìn)

開始使用

要開始使用 .NET 6 Preview 4 中的 ASP.NET Core,請安裝 .NET 6 SDK[1]。

如果你在 windows 上使用 Visual Studio,我們建議安裝 Visual Studio 2019 16.11 的最新預(yù)覽版。如果你在 macOS 上,我們建議安裝 Visual Studio 2019 for Mac 8.10 的最新預(yù)覽版。

升級一個(gè)現(xiàn)有的項(xiàng)目

要將一個(gè)現(xiàn)有的 ASP.NET Core 應(yīng)用程序從 .NET 6 Preview 3 升級到.NET 6 Preview 4。

  • 將所有 Microsoft.AspNetCore.* 引用包更新為 6.0.0-preview.4.*。
  • 更新所有 Microsoft.Extensions.* 引用包更新為 6.0.0-preview.4.*。

請參閱 .NET 6 中 ASP.NET Core 的完整中斷變化列表[2]。

引入最小 API

在 .NET 6 中,我們?yōu)?Web 應(yīng)用的托管和路由引入了最小 API。這為使用 .NET 構(gòu)建第一個(gè) Web 應(yīng)用程序以及想要構(gòu)建小型微服務(wù)和 HTTP API 的開發(fā)者打開了大門。這些精簡的 API 提供了 ASP.NET MVC 的優(yōu)點(diǎn)。

要嘗試創(chuàng)建一個(gè)最小 API,請創(chuàng)建一個(gè)新的 ASP.NET Core 空 Web 應(yīng)用。

dotnet new web -o MinApi

只需一個(gè)文件和幾行代碼,你現(xiàn)在就有一個(gè)功能齊全的 HTTP API。

.NET 6 Preview 4 已發(fā)布,ASP.NET Core 更新內(nèi)容

 

新的路由 API

新的路由 API 允許用戶路由到任何類型的方法。這些方法可以使用類似控制器的參數(shù)綁定、JSON 格式化和 Action 結(jié)果。

之前(使用現(xiàn)有的 Map APIs):

App.MapGet("/", async httpContext =>
{
    await httpContext.Response.WriteAsync("Hello World!");
});

現(xiàn)在(使用新的 Map 重載):

app.MapGet("/", (Func<string>)(() => "Hello World!"));

C# 10 的改進(jìn)

這些 API 已經(jīng)利用了較新的 C# 特性,如頂層語句。在今年晚些時(shí)候與 .NET 6 一起發(fā)布的 C# 10 中,體驗(yàn)將變得更好。例如,不再需要明確地把類型轉(zhuǎn)換成 (Func<string>)。下面的圖片展示了 C# 10 支持的特性:

.NET 6 Preview 4 已發(fā)布,ASP.NET Core 更新內(nèi)容

 

開發(fā)者從使用類和方法到使用 lambda,擁有和使用 MVC 控制器及屬性操作一樣的功能。

新的托管(hosting) API

新的空 Web 模板使用的是 .NET 6 Preview 4 中引入的新的托管模式。

var app = WebApplication.Create(args);

app.MapGet("/", (Func<string>)(() => "Hello World!"));

app.Run();

你并不局限于只使用新的路由 API。下面是一個(gè) Web 應(yīng)用程序的例子,它被更新為使用新的托管模式,配置服務(wù)和添加中間件。

using Microsoft.AspNetCore.Builder;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Microsoft.OpenApi.Models;

var builder = WebApplication.CreateBuilder(args);
builder.Services.AddControllers();
builder.Services.AddSwaggerGen(c =>
{
    c.SwaggerDoc("v1", new OpenApiInfo { Title = "Api", Version = "v1" });
});

var app = builder.Build();

if (app.Environment.IsDevelopment())
{
    app.UseDeveloperExceptionPage();
    app.UseSwagger();
    app.UseSwaggerUI(c => c.SwaggerEndpoint("/swagger/v1/swagger.json", "Api v1"));
}

app.UseHttpsRedirection();
app.UseAuthorization();
app.MapControllers();

app.Run();

新的托管 API 減少了配置和啟動(dòng) ASP.NET 應(yīng)用程序所需的模板數(shù)量。

性能

這些新的路由 API 的開銷比基于控制器的 API 少得多。使用新的路由 API,ASP.NET Core 能夠在 TechEmpower[3] JSON 基準(zhǔn)測試中達(dá)到約 80 萬 RPS,而 MVC 則達(dá)到約 50 萬 RPS。

.NET 6 Preview 4 已發(fā)布,ASP.NET Core 更新內(nèi)容

 

異步流

ASP.NET Core 現(xiàn)在支持從控制器 Action 一直到響應(yīng)的 JSON 格式化器的異步流。從 Action 中返回 IAsyncEnumerable,在發(fā)送之前不再在內(nèi)存中緩沖響應(yīng)內(nèi)容。這有助于在返回可異步枚舉的大型數(shù)據(jù)集時(shí)減少內(nèi)存使用。

請注意,Entity Framework Core 提供了用于查詢數(shù)據(jù)庫的 IAsyncEnumerable 的實(shí)現(xiàn)。在 .NET 6 中,ASP.NET Core 對 IAsyncEnumerable 的支持有所改進(jìn),可以使 EF Core 與 ASP.NET Core 的使用更加高效。例如,下面的代碼在發(fā)送響應(yīng)前將不再把 Products 數(shù)據(jù)緩沖到內(nèi)存中:

public IActionResult GetProducts()
{
    return Ok(dbContext.Products);
}

然而,如果你已經(jīng)將 EF Core 設(shè)置為使用懶加載,這種新的行為可能會(huì)導(dǎo)致在數(shù)據(jù)被枚舉時(shí)由于并發(fā)的查詢執(zhí)行而產(chǎn)生錯(cuò)誤。你可以通過自己緩沖數(shù)據(jù)來恢復(fù)到以前的行為:

public async Task<IActionResult> Products()
{
    return Ok(await dbContext.Products.ToListAsync());
}

有關(guān)這一行為變化的更多細(xì)節(jié),見相關(guān)公告[4]。

HTTP 日志中間件

HttpLogging 是一個(gè)新的內(nèi)置中間件,可以記錄 HTTP 請求和 HTTP 響應(yīng)的信息,包括頭信息和整個(gè) Body。

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
    app.UseHttpLogging();
}

HttpLogging 中間件提供了以下日志:

  • HTTP 請求信息
  • 普通屬性
  • 頭信息
  • 請求 Body
  • HTTP 響應(yīng)信息

為了配置 HTTP 日志中間件,你可以在對 ConfigureServices() 的調(diào)用中指定 HttpLoggingOptions:

public void ConfigureServices(IServiceCollection services)
{
    services.AddHttpLogging(logging =>
    {
        // Customize HTTP logging here.
        logging.LoggingFields = HttpLoggingFields.All;
        logging.RequestHeaders.Add("My-Request-Header");
        logging.ResponseHeaders.Add("My-Response-Header");
        logging.MediaTypeOptions.AddText("application/JAVAscript");
        logging.RequestBodyLogLimit = 4096;
        logging.ResponseBodyLogLimit = 4096;
    });
}

這會(huì)在日志中產(chǎn)生新的帶有
Microsoft.AspNetCore.HttpLogging.HttpLoggingMiddleware 類別的 HTTP 請求信息。

關(guān)于如何使用 HTTP 日志的更多信息,請看 HTTP 日志文檔[5]。

使用 Kestrel 作為默認(rèn)啟動(dòng)

.NET 6 Preview 4 已發(fā)布,ASP.NET Core 更新內(nèi)容

 

對于在 .NET 6 Preview 4 中創(chuàng)建的所有新項(xiàng)目,我們已將默認(rèn)的啟動(dòng)配置文件從 IIS Express 改為 Kestrel。 在開發(fā)應(yīng)用程序時(shí),啟動(dòng) Kestrel 的速度明顯加快,并帶來了更靈敏的體驗(yàn)。

IIS Express (ms) Kestrel (ms) % change Debugging 4359 2772 36% No debugging 1999 727 64%

IIS Express 仍然可以作為啟動(dòng)項(xiàng),用于 Windows 認(rèn)證或端口共享等情況。

IConnectionSocketFeature

IConnectionSocketFeature 功能使你能夠訪問與當(dāng)前請求相關(guān)的底層接受 socket。它可以通過 HttpContext 上的 FeatureCollection 訪問。

例如,下面的應(yīng)用程序在接受 socket 上設(shè)置 LingerState 屬性:

var builder = WebApplication.CreateBuilder(args);
builder.WebHost.ConfigureKestrel(serverOptions =>
{
    serverOptions.ConfigureEndpointDefaults(listenOptions => listenOptions.Use((connection, next) =>
    {
        var socketFeature = connection.Features.Get<IConnectionSocketFeature>();
        socketFeature.Socket.LingerState = new LingerOption(true, seconds: 10);
        return next();
    }));
});
var app = builder.Build();
app.MapGet("/", (Func<string>)(() => "Hello world"));
await app.RunAsync();

改進(jìn)單頁應(yīng)用(SPA)模板

略...(譯注:文字太長,懶得翻譯了,主要 VS 中的 SPA 模板我從來不用)

.NET 熱重載

最新的 Visual Studio 預(yù)覽版對.NET Hot 熱重載有一些初步的支持。你可能已經(jīng)注意到在調(diào)試你的應(yīng)用程序時(shí),新的 Apply Code Changes 按鈕和調(diào)試選項(xiàng)。

.NET 6 Preview 4 已發(fā)布,ASP.NET Core 更新內(nèi)容

 

Apply Code Changes 按鈕將用你所作的代碼修改來更新正在運(yùn)行的應(yīng)用程序,甚至不需要保存。下面是一個(gè)更新 Counter 組件的例子,它的增量從 1 改為 2。請注意,一旦修改被應(yīng)用,當(dāng)前的計(jì)數(shù)不會(huì)丟失:

.NET 6 Preview 4 已發(fā)布,ASP.NET Core 更新內(nèi)容

 

Visual Studio 中的 .NET 熱重載支持仍在進(jìn)行中,因此在 ASP.NET Core 應(yīng)用程序中使用它時(shí)有一些限制:

  • 你必須在連接調(diào)試器的情況下運(yùn)行以應(yīng)用更改。
  • 代碼修改只能應(yīng)用于 C# 文件--還不支持對 Razor 文件(.razor, .cshtml)的修改。
  • 已應(yīng)用的更改還不能強(qiáng)制更新用戶界面,因此需要手動(dòng)觸發(fā)用戶界面更新。
  • 目前不支持 Blazor WebAssembly 應(yīng)用程序。

所有這些限制都在解決中,并將在未來的 Visual Studio 更新中得到解決。敬請關(guān)注!

如果你通過 dotnet watch 使用 .NET 熱重載,修改將被應(yīng)用于 ASP.NET Core 托管的 Blazor WebAssembly 應(yīng)用程序。如果你刷新瀏覽器,修改也會(huì)重新應(yīng)用到你的 Blazor WebAssembly 應(yīng)用程序。

要了解更多關(guān)于.NET 熱重載的信息,你可以在我們的博文中獲得所有細(xì)節(jié):介紹.NET 熱重載[6]。

Razor 中的泛型約束

在 Razor 中使用 @typeparam 指令定義通用類型參數(shù)時(shí),你現(xiàn)在可以使用標(biāo)準(zhǔn)的 C# 語法指定泛型約束。

@typeparam TEntity where TEntity : IEntity

Blazor 錯(cuò)誤邊界

Blazor 錯(cuò)誤邊界提供了一種方便的方式來處理組件層次結(jié)構(gòu)中的異常情況。為了定義一個(gè)錯(cuò)誤邊界,使用新的 ErrorBoundary 組件來包裹一些現(xiàn)有的內(nèi)容。只要一切運(yùn)行順利,ErrorBoundary 組件將渲染其子內(nèi)容。如果一個(gè)未處理的異常被拋出,ErrorBoundary 會(huì)渲染一些錯(cuò)誤 UI。

例如,我們可以像這樣在默認(rèn) Blazor 應(yīng)用程序的布局中添加一個(gè)錯(cuò)誤邊界:

<div class="main">
  <div class="top-row px-4">
    <a href="https://docs.microsoft.com/aspnet/" target="_blank" rel="noopener">
      About
    </a>
  </div>

  <div class="content px-4">
    <ErrorBoundary> @Body </ErrorBoundary>
  </div>
</div>

該應(yīng)用程序繼續(xù)像以前一樣運(yùn)作,但現(xiàn)在我們的錯(cuò)誤邊界將處理未處理的異常。例如,我們可以更新 Counter 組件,在計(jì)數(shù)過大時(shí)拋出一個(gè)異常。

private void IncrementCount()
{
    currentCount++;
    if (currentCount > 10)
    {
        throw new InvalidOperationException("Current count is too big!");
    }
}

現(xiàn)在,如果我們過多地點(diǎn)擊計(jì)數(shù)器,就會(huì)拋出一個(gè)未處理的異常,這將由我們的錯(cuò)誤邊界通過渲染一些默認(rèn)的錯(cuò)誤界面來處理。

.NET 6 Preview 4 已發(fā)布,ASP.NET Core 更新內(nèi)容

 

默認(rèn)情況下,ErrorBoundary 組件為其錯(cuò)誤內(nèi)容渲染了一個(gè)帶有 blazor-error-boundary css 類的空 div。這個(gè)默認(rèn)界面的顏色、文本和圖標(biāo)都是在應(yīng)用程序中使用 CSS 定義的,所以你可以自由地定制它們。你也可以通過設(shè)置 ErrorContent 屬性來改變默認(rèn)的錯(cuò)誤內(nèi)容。

<ErrorBoundary>
  <ChildContent> @Body </ChildContent>
  <ErrorContent>
    <p class="my-error">Nothing to see here right now. Sorry!</p>
  </ErrorContent>
</ErrorBoundary>

因?yàn)槲覀冊诓季种卸x了錯(cuò)誤邊界,一旦拋出一個(gè)異常,不管我們導(dǎo)航到哪個(gè)頁面我們都能看到錯(cuò)誤內(nèi)容。一般來說,錯(cuò)誤邊界的范圍最好比這更窄,但我們可以選擇在隨后的頁面導(dǎo)航中通過調(diào)用錯(cuò)誤邊界的恢復(fù)方法將錯(cuò)誤邊界重置為非錯(cuò)誤狀態(tài)。

...
<ErrorBoundary @ref="errorBoundary">
    @Body
</ErrorBoundary>
...

@code {
    ErrorBoundary errorBoundary;

    protected override void OnParametersSet()
    {
        // On each page navigation, reset any error state
        errorBoundary?.Recover();
    }
}

Blazor WebAssembly 的 AOT 編譯

Blazor WebAssembly 現(xiàn)在支持 AOT(ahead-of-time) 編譯,你可以將你的 .NET 代碼直接編譯為 WebAssembly,以顯著提高運(yùn)行時(shí)性能。現(xiàn)在 Blazor WebAssemby 應(yīng)用程序使用 WebAssembly 中實(shí)現(xiàn)的 .NET IL 解釋器運(yùn)行。由于 .NET 代碼是被解釋的,通常這意味著在 WebAssembly 上運(yùn)行的 .NET 代碼比在正常的.NET 運(yùn)行時(shí)要慢得多。.NET WebAssembly AOT 編譯通過將你的 .NET 代碼直接編譯成 WebAssembly 來解決這個(gè)性能問題。

AOT 編譯你的 Blazor WebAssembly 應(yīng)用程序,對于 CPU 密集型任務(wù)來說,其性能的提高是相當(dāng)顯著的。例如,下面的片段顯示了使用相同的 Blazor WebAssembly 應(yīng)用程序進(jìn)行一些基本圖像編輯的比較,首先使用解釋器,然后是 AOT 編譯。AOT 編譯后的版本運(yùn)行速度快了五倍以上。

.NET 6 Preview 4 已發(fā)布,ASP.NET Core 更新內(nèi)容

 

你可以在 GitHub 上查看這個(gè) PictureFixer[7] 的代碼。

.NET WebAssembly AOT 編譯需要一個(gè)額外的構(gòu)建工具,必須作為一個(gè)可選的 .NET SDK 工作負(fù)載來安裝才能使用。要安裝 .NET WebAssembly 構(gòu)建工具,請運(yùn)行以下命令:

dotnet workload install microsoft-net-sdk-blazorwebassembly-aot

為了在你的 Blazor WebAssembly 項(xiàng)目中啟用 WebAssembly AOT 編譯,在你的項(xiàng)目文件中添加以下屬性:

<RunAOTCompilation>true</RunAOTCompilation>

然后 AOT 將你的應(yīng)用程序編譯成 WebAssembly,發(fā)布應(yīng)用程序。使用 Release 配置發(fā)布將確保 .NET IL 鏈接也被運(yùn)行,以減少發(fā)布應(yīng)用程序的大小。

dotnet publish -c Release

WebAssembly AOT 編譯只在項(xiàng)目發(fā)布時(shí)進(jìn)行。當(dāng)項(xiàng)目在開發(fā)過程中運(yùn)行時(shí),它并不使用。這是因?yàn)?WebAssembly AOT 編譯可能需要一段時(shí)間。

AOT 編譯的 Blazor WebAssembly 應(yīng)用程序的大小通常比作為 .NET IL 的應(yīng)用程序要大。在我們的測試中,大多數(shù) AOT 編譯的 Blazor WebAssembly 應(yīng)用程序大約大 2 倍,不過這取決于具體的應(yīng)用程序。這意味著,使用 WebAssembly 的 AOT 編譯,可以用加載時(shí)間的性能換取運(yùn)行時(shí)間的性能。這種權(quán)衡是否值得,取決于你的應(yīng)用程序。

.NET MAUI Blazor 應(yīng)用

Blazor 能夠用 .NET 構(gòu)建客戶端 Web UI,但有時(shí)你需要的東西比 Web 平臺(tái)提供的更多。有時(shí)你需要完全訪問設(shè)備的本地功能?,F(xiàn)在,你可以在 .NET MAUI 應(yīng)用程序中托管 Blazor 組件,以使用 Web UI 構(gòu)建跨平臺(tái)的本地應(yīng)用程序。這些組件在.NET 進(jìn)程中原生運(yùn)行,并使用本地互操作通道向嵌入式 Web 視圖控件渲染 Web UI。這種混合方法為你提供了本地和網(wǎng)絡(luò)的優(yōu)點(diǎn)。你的組件可以通過 .NET 平臺(tái)訪問本地功能,并呈現(xiàn)標(biāo)準(zhǔn)的 Web UI。.NET MAUI Blazor 應(yīng)用程序可以運(yùn)行在任何 .NET MAUI 可以運(yùn)行的地方(Windows、Mac、IOS 和 Android),盡管我們對 .NET 6 的主要關(guān)注是在桌面場景。

要?jiǎng)?chuàng)建一個(gè) .NET MAUI Blazor 應(yīng)用程序,你首先需要在開發(fā)機(jī)器上配置 .NET MAUI。最簡單的方法是使用 maui-check 工具。要安裝 maui-check 工具,請運(yùn)行:

dotnet tool install -g Redth.Net.Maui.Check

然后運(yùn)行 maui-check 來獲取 .NET MAUI 工具和依賴。有關(guān)開始使用 .NET MAUI 的其他信息,請參考 GitHub 上的 wiki 文檔。

一旦一切安裝完畢,使用新的項(xiàng)目模板創(chuàng)建一個(gè) .NET MAUI Blazor 應(yīng)用程序:

dotnet new maui-blazor -o MauiBlazorApp

你也可以使用 Visual Studio 創(chuàng)建一個(gè) .NET MAUI Blazor 應(yīng)用程序:

.NET 6 Preview 4 已發(fā)布,ASP.NET Core 更新內(nèi)容

 

.NET MAUI Blazor 應(yīng)用程序是 .NET MAUI 應(yīng)用程序,它使用 BlazorWebView 控件將 Blazor 組件渲染到一個(gè)嵌入式 Web 視圖中。應(yīng)用程序的代碼和邏輯位于 MauiApp 項(xiàng)目中,該項(xiàng)目被設(shè)置為多目標(biāo) Android、iOS 和 Mac Catalyst。MauiApp.WinUI3 項(xiàng)目用于為 Windows 構(gòu)建,而 MauiApp.WinUI3(Package) 項(xiàng)目則用于為 Windows 生成 MSIX 包。最終,我們希望將對 Windows 的支持合并到主應(yīng)用程序項(xiàng)目中,但現(xiàn)在這些獨(dú)立的項(xiàng)目是必要的。

在 MauiApp 項(xiàng)目的 MainPage.xaml 中設(shè)置了 BlazorWebView 控件:

<b:BlazorWebView HostPage="wwwroot/index.html">
    <b:BlazorWebView.RootComponents>
        <b:RootComponent Selector="#app" ComponentType="{x:Type local:Main}" />
    </b:BlazorWebView.RootComponents>
</b:BlazorWebView>

該應(yīng)用程序的根 Blazor 組件在 Main.razor 中。其余的 Blazor 組件都在 Pages 和 Shared 目錄下。請注意,這些組件與默認(rèn) Blazor 模板中使用的組件相同。你可以在你的應(yīng)用程序中使用現(xiàn)有的 Blazor 組件,而不用改變代碼,或者引用包含這些組件的現(xiàn)有類庫或包。應(yīng)用程序的靜態(tài)資源在 wwwroot 文件夾中。

Windows

要在 Windows 下運(yùn)行該應(yīng)用程序,你需要使用 Visual Studio 構(gòu)建和運(yùn)行。

選擇 MauiBlazorApp.WinUI3(Package) 項(xiàng)目作為你的啟動(dòng)項(xiàng)目:

.NET 6 Preview 4 已發(fā)布,ASP.NET Core 更新內(nèi)容

 

同時(shí)為目標(biāo)平臺(tái)選擇 x64:

.NET 6 Preview 4 已發(fā)布,ASP.NET Core 更新內(nèi)容

 

然后你可以按 F5 或 Ctrl+F5,使 WinUI 應(yīng)用作為本地 Windows 桌面應(yīng)用運(yùn)行。

.NET 6 Preview 4 已發(fā)布,ASP.NET Core 更新內(nèi)容

 

Android

要在 Android 上運(yùn)行該應(yīng)用程序,首先使用 Android SDK 或 Android 設(shè)備管理器啟動(dòng) Android 模擬器。

然后使用以下命令從 CLI 運(yùn)行該應(yīng)用程序:

dotnet build MauiBlazorApp -t:Run -f net6.0-android

要從 Visual Studio 在 Android 上運(yùn)行,選擇 MauiBlazorApp 項(xiàng)目作為啟動(dòng)項(xiàng)目:

.NET 6 Preview 4 已發(fā)布,ASP.NET Core 更新內(nèi)容

 

然后在運(yùn)行按鈕下拉菜單中選擇 net6.0-android 作為目標(biāo)框架:

.NET 6 Preview 4 已發(fā)布,ASP.NET Core 更新內(nèi)容

 

然后你可以點(diǎn)擊 F5 或 Ctrl+F5,使用安卓模擬器運(yùn)行該應(yīng)用程序:

.NET 6 Preview 4 已發(fā)布,ASP.NET Core 更新內(nèi)容

 

iOS 和 Mac Catalyst

譯注:Mac Catalyst 是一個(gè)幫助開發(fā)者將 iOS 應(yīng)用移植到 macOS 上的服務(wù)。

要運(yùn)行 iOS 或 Mac Catalyst 的應(yīng)用程序,你需要使用一個(gè)運(yùn)行 Big Sur 的 macOS 開發(fā)環(huán)境。你目前不能從 Windows 開發(fā)環(huán)境中運(yùn)行 iOS 或 Mac Catalyst 的應(yīng)用程序,盡管我們確實(shí)期望 .NET MAUI 將支持使用連接的 Mac 構(gòu)建代理或使用熱重啟在連接的設(shè)備上運(yùn)行 iOS 應(yīng)用程序。

要運(yùn)行 iOS 和 Mac Catalyst 的應(yīng)用程序,請使用以下命令:

dotnet build MauiBlazorApp -t:Run -f net6.0-ios
dotnet build MauiBlazorApp -t:Run -f net6.0-maccatalyst
.NET 6 Preview 4 已發(fā)布,ASP.NET Core 更新內(nèi)容

 

在這個(gè)版本中,.NET MAUI Blazor 應(yīng)用程序有一些已知的限制:

  • 組件范圍內(nèi)的 CSS 文件(.razor.css)還不能在主 .NET MAUI 項(xiàng)目中使用。這將在未來的更新中得到修復(fù)。

了解更多關(guān)于 .NET 6 Preview 4 中 .NET MAUI 的新內(nèi)容[8]。

其他性能改進(jìn)

略...(注:這部分列舉了一些社區(qū)貢獻(xiàn)的提高性能的 PR,沒啥可翻譯的,感興趣的同學(xué)可以直接在英文原文點(diǎn)擊鏈接查看。)

提供反饋

我們希望你喜歡此次 .NET 6 中的 ASP.NET Core 預(yù)覽版。我們很想聽聽你對這個(gè)版本的體驗(yàn)。在 GitHub[9] 上提交 Issue,讓我們知道你的想法。

感謝你嘗試使用 ASP.NET Core!

文中鏈接:

[1]. https://dotnet.microsoft.com/download/dotnet/6.0
[2]. https://docs.microsoft.com/dotnet/core/compatibility/6.0#aspnet-core
[3]. https://www.techempower.com/benchmarks/
[4]. https://github.com/aspnet/Announcements/issues/463
[5]. https://docs.microsoft.com/aspnet/core/fundamentals/http-logging
[6]. https://aka.ms/build2021-hotreload
[7]. https://aka.ms/picture-fixer
[8]. https://devblogs.microsoft.com/dotnet/announcing-net-maui-preview-4
[9]. https://github.com/dotnet/aspnetcore/issues

分享到:
標(biāo)簽:NET
用戶無頭像

網(wǎng)友整理

注冊時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評定2018-06-03

通用課目體育訓(xùn)練成績評定