Mic*_*ica 5 c# nuget asp.net-core blazor blazor-client-side
我正在尝试在现有 Asp.Net Core 3.1 应用程序的控制器视图中呈现客户端 Blazor 应用程序。
我开始遵循本指南,并从模板创建了一个空的应用程序。我发现我需要的是:
<PackageReference Include="Microsoft.AspNetCore.Blazor" Version="3.2.0-preview1.20073.1" />
<PackageReference Include="Microsoft.AspNetCore.Blazor.Build" Version="3.2.0-preview1.20073.1" PrivateAssets="all" />
<PackageReference Include="Microsoft.AspNetCore.Blazor.DevServer" Version="3.2.0-preview1.20073.1" PrivateAssets="all" />
<PackageReference Include="Microsoft.AspNetCore.Blazor.HttpClient" Version="3.2.0-preview1.20073.1" />
Run Code Online (Sandbox Code Playgroud)Program.Main
:
var builder = WebAssemblyHostBuilder.CreateDefault(args);
builder.RootComponents.Add<App>("app");
await builder.Build().RunAsync();
Run Code Online (Sandbox Code Playgroud)Blazor 应用程序“入口点”的视图中的此 HTML 代码:
<app>Loading...</app>
<div id="blazor-error-ui">
An unhandled error has occurred.
<a href="" class="reload">Reload</a>
<a class="dismiss"></a>
</div>
<script src="_framework/blazor.webassembly.js"></script>
Run Code Online (Sandbox Code Playgroud).razor
组件:
应该是这样,但是我收到错误消息(如果需要,可以添加完整的堆栈跟踪):
---> Mono.Cecil.AssemblyResolutionException: Failed to resolve assembly: 'Microsoft.AspNetCore.Mvc.Razor, Version=3.1.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60'
Run Code Online (Sandbox Code Playgroud)
我在哪里可以找到那个 nuget 包版本?我需要程序集绑定吗?我试过没有成功:
<PackageReference Include="Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation" Version="3.1.0" />
Run Code Online (Sandbox Code Playgroud)
编辑
添加以下包解决了该问题:
---> Mono.Cecil.AssemblyResolutionException: Failed to resolve assembly: 'Microsoft.AspNetCore.Mvc.Razor, Version=3.1.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60'
Run Code Online (Sandbox Code Playgroud)
但现在我有一个不同的错误:
C:\Program Files\dotnet\sdk\3.1.101\Sdks\Microsoft.NET.Sdk.Razor\build\netstandard2.0\Microsoft.NET.Sdk.Razor.Component.targets(106,5): error : rzc generate exited with code 1.
Run Code Online (Sandbox Code Playgroud)
一旦我打开任何.razor
文件,Visual Studio (16.4.4) 就会崩溃
在您的项目中添加以下包:
<PackageReference Include="Microsoft.AspNetCore.Blazor" Version="3.2.0-preview1.20073.1" />
<PackageReference Include="Microsoft.AspNetCore.Blazor.Build" Version="3.2.0-preview1.20073.1" PrivateAssets="all" />
<PackageReference Include="Microsoft.AspNetCore.Blazor.HttpClient" Version="3.2.0-preview1.20073.1" />
<PackageReference Include="Microsoft.AspNetCore.Blazor.Server" Version="3.2.0-preview1.20073.1" />
Run Code Online (Sandbox Code Playgroud)
在您的Startup.Configure
方法中添加:
app.UseClientSideBlazorFiles<BlazorApp.Program>()
.UseEndpoints(endpoints =>
{
endpoints.MapFallbackToClientSideBlazor<BlazorApp.Program>("blazor");
});
Run Code Online (Sandbox Code Playgroud)
其中“blazor”是托管 blazor 应用程序的 razor 视图的相对 uri。
以及BlazorApp.Program
您的 blazor 应用程序的类型Program
如果您希望将其放在 2 个独立的项目中,则 Blazor 应用程序项目必须具有这些包:
<PackageReference Include="Microsoft.AspNetCore.Blazor" Version="3.2.0-preview1.20073.1" />
<PackageReference Include="Microsoft.AspNetCore.Blazor.Build" Version="3.2.0-preview1.20073.1" PrivateAssets="all" />
<PackageReference Include="Microsoft.AspNetCore.Blazor.DevServer" Version="3.2.0-preview1.20073.1" PrivateAssets="all" />
<PackageReference Include="Microsoft.AspNetCore.Blazor.HttpClient" Version="3.2.0-preview1.20073.1" />
Run Code Online (Sandbox Code Playgroud)
服务器项目这个:
<PackageReference Include="Microsoft.AspNetCore.Blazor.Server" Version="3.2.0-preview1.20073.1" />
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2025 次 |
最近记录: |