标签: razor-class-library

Blazor 服务器 .NET6 Razor 类库资产 404 错误

我有一个 Razor 类库,我已经在 .NetCore3 和 .NetCore 5 上使用了几个月,没有出现任何问题。

最近将我们的 blazor 服务器应用程序和 Razor 类库更新到 .NetCore 6 后,我在从 Razor 类库加载资源时遇到了问题。

RCL 是通过 nuget 构建和打包的,我可以看到包中的资产,例如; Nuget 包示例

Web 应用程序已更新为使用单个 program.cs,我正在使用WebApplication.CreateBuilder()我的设置选项。

        var builder = WebApplication.CreateBuilder(new WebApplicationOptions
        {
            ApplicationName = typeof(Program).Assembly.FullName,
            ContentRootPath = Directory.GetCurrentDirectory(),
            EnvironmentName = Environments.Development,
            WebRootPath = ""
        });
Run Code Online (Sandbox Code Playgroud)

加载这些资源时出现 404 错误

    <link href="_content/Blurred.Framework.Web.Shared/favicon.ico" type="image/x-icon" rel="icon" />
    <link href="_content/Blurred.Framework.Web.Shared/css/bootstrap/bootstrap.min.css" rel="stylesheet" />
    <link href="_content/Blurred.Framework.Web.Shared/css/site.css" rel="stylesheet" />
Run Code Online (Sandbox Code Playgroud)

我还可以看到wwwroot文件夹和相应的资产已加载到 Visual Studio 中的应用程序项目中。 VS 中的 Web 应用程序

感觉这是一个配置问题,而不是需要更改的重大问题。

ContentRootPath或 的正确设置是什么WebRootPath


更新

据此我需要使用app.UseStaticFiles();我已经完成的内容,以及.NET6中未使用的 …

asp.net-core razor-class-library asp.net-core-6.0

7
推荐指数
1
解决办法
1682
查看次数

Blazor - Razor 类库 - 重用完整的 blazor 页面

我这里有问题,

我创建了一个核心 3.1 的 Blazor 应用程序(服务器端),然后我用这个类库创建了一个 Razor 类库(旧 razorlib)我可以创建 blazor comp 并在我的 blazor 应用程序中重用 < myComp >,共享 Css 甚至创建完整的 Razor 视图,如Area/MyAdmin/Pages/Page1.cshtml 并从我的 Blazor 应用程序调用https://MyApp/MyAdmin/Page1使用它,抱歉我的大介绍,我的问题是,如何像页面一样重用 FULL Blazor 组件?在我的 Razor 类库中添加一个文件夹 Pages 并在其中添加 Contact.razor 并且它不会用作我的 Blazor 应用程序中的 < Contact > 但我将能够像https://MyApp/Contact一样调用?

有人可以给我一个例子吗?谢谢!

blazor razor-class-library blazor-client-side

6
推荐指数
2
解决办法
890
查看次数

Razor类库向主projeto master添加对css、js的引用

有没有办法在创建 Razor 类库并且其中有 js、css 时,它会自动从 Blazor 应用程序添加 _Host.cshtml 中的参考链接?

简而言之,我不想将我的 Css/js 的引用从我的 razor 类库添加到另一个 blazor 应用程序主机(布局)

blazor razor-class-library

6
推荐指数
1
解决办法
2500
查看次数

Razor 类库 (RCL) 中包含静态内容的 404

我在 razor 类库 (.net Core 3.1) 中实现 ASP.NET Core (v3.1) 应用程序使用的静态文件时遇到困难。

当尝试访问静态文件时,我只收到 404 - 未找到。

我在 Stackoverflow 上遵循以下答案: https: //stackoverflow.com/a/57874357/1099519

我还交叉检查了文档:https://learn.microsoft.com/en-us/aspnet/core/razor-pages/ui-class ?view=aspnetcore-3.0&tabs=visual-studio#create-an -rcl-with-static-assets

我在库中的以下位置放置了一个 css 文件: wwwroot\css\Base.css并测试了以下路径:https://localhost:44300/_content/OurIt.Cockpit/css/Base.css,这会导致 404 未找到响应。

我已经检查过的内容:

  • 任何在 RCL 内具有视图的控制器都可以被浏览并且它们工作正常(渲染的 HTML 代码将提供给浏览器)
  • app.UseStaticFiles();网络应用程序中。
  • webBuilder.UseStaticWebAssets();网络应用程序中。
  • 正确的外壳。
  • Build Action设置wwwroot\css\Base.cssContent
  • RCL 项目定义了以下 sdk:<Project Sdk="Microsoft.NET.Sdk.Razor">
  • 在 RCL 项目中设置以下属性:

    <PropertyGroup> <TargetFramework>netcoreapp3.1</TargetFramework> <AddRazorSupportForMvc>true</AddRazorSupportForMvc> <PropertyGroup>

我还尝试了这个答案中描述的方式: https: //stackoverflow.com/a/59574845/1099519 ,我尝试从https://localhost:44300/path/css/Base.css访问该文件

是否有机会调试或定位问题?关于微软文档:

构建 RCL 时,会生成一个描述静态 Web …

asp.net-core-mvc .net-core asp.net-core razor-class-library

6
推荐指数
2
解决办法
7519
查看次数

使用主 Web 应用程序的 dbcontext 的 Razor 类库

我尝试创建一个 Razor 类库,我将能够在各种项目中使用它。我需要 Razor 类库来拥有它自己的实体框架实体。我想以某种方式设置解决方案,以便 Razor 类库将使用主 Web 应用程序的 dbcontext。我用谷歌搜索,但我没有找到实现它的方法。

我希望 Razor 类库是可重用的,这样我只需要在主 Web 应用程序中添加引用并添加迁移,一切就可以使用了。

有人可以建议我如何设置解决方案以使其工作吗?

asp.net-core-2.1 entity-framework-core-2.1 razor-class-library

5
推荐指数
0
解决办法
138
查看次数

从引用 Web 应用程序访问时,IntelliSense 不适用于 .NET Core 3.1 Razor 类库中的 CSS 文件

我正在使用 .NET Core 3.1 Razor 类库 (RCL) 创建一个可重用的 UI,如下所述:

https://docs.microsoft.com/en-us/aspnet/core/razor-pages/ui-class?view=aspnetcore-3.1&tabs=visual-studio

我能够创建一个包含静态资产的 RCL,并且能够按照上面链接中的说明使用它们。默认情况下,Visual Studio 2019 (16.5.1) 只为 RCL 项目本身中的 CSS/JavaScript 文件提供 IntelliSense,而不是来自任何依赖项目。有一个先前回答的问题,显示了如何在依赖项目中创建 JavaScript 文件(它提到了一个 CSS 解决方案,但没有提供实际答案):

VS 2019 中项目之间的 JS/CSS 智能感知

有谁知道如何让 VS2019 在依赖项目中提供 CSS IntelliSense?这里有一个示例解决方案可以说明这里的问题:

https://github.com/shawnpaige/RCLIntellisense

感谢您的任何见解。

asp.net-core razor-pages razor-class-library

5
推荐指数
0
解决办法
327
查看次数

在 .Net Framework 项目中使用带有部分视图的 Razor 类库

我最近遇到了 Razor 类库,并不能 100% 确定它们能/不能实现什么,但我非常喜欢能够创建可以在多个视图中共享的视图(和部分视图)的概念。网络项目。

然而,虽然我了解一点 C# 并且非常熟悉转换工具,但我对 VB.Net 的熟练程度要高出 1000 倍,因此我的大部分工作都是以这种方式编码的。.NET Core,据我所知不支持VB.NET。

我按照教程并从此处下载了示例代码https://learn.microsoft.com/en-us/aspnet/core/razor-pages/ui-class?view=aspnetcore-3.1&tabs=visual-studio

这样我就能够构建一个包含 RCL 和 .NetCore 网站的解决方案,该网站使用 RCL 中的视图和部分视图。

我能够构建多个 .NETCore 网站,我所要做的就是添加对 RCL 项目的引用,它们都将使用 RCL 中的共享部分视图...一切运行良好。

除了,我不想要 .NETCore 网站项目,因为我想坚持使用 VB.NET,所以我阅读并被告知我使用 .netstandard2.0 创建的 RCL 应该与 .Net Framework 兼容。

笔记; 本质上,为了满足当前的需求,我打算主要使用 RCL 来创建要在多个项目之间共享的部分视图。我很高兴使用 C# 创建它们作为项目逻辑,并且我的很多代码逻辑已经存在于 VB 类库中,我可以导入它们,但不想重写或重新学习我在 main 中已经完成的所有内容我的大部分项目。

无论如何,将我的所有工作升级到 .NetCore 将是一场噩梦......

所以....

  • 我创建了一个针对 .Net Framework 4.7.2 的 VB Web 应用程序。
  • 我添加对 RCL 的引用
  • 我运行了一个构建来检查是否存在版本冲突或引用不兼容的情况
  • 我运行该网站来检查 Visual Studio 未捕获的构建错误

以上一切工作正常,引用添加正常,没有任何问题。

但是...我无法弄清楚如何让 RCL 中的部分视图可供网站访问。

我不断收到错误

The partial view '****' was …
Run Code Online (Sandbox Code Playgroud)

c# vb.net razor asp.net-core razor-class-library

5
推荐指数
1
解决办法
2342
查看次数

是否可以在 RCL 中创建 Blazor 页面?

本页介绍了如何创建 Razor 类库来放置共享组件。我试图创建一个示例 Blazor 服务器端项目,其中它index.razor有一个在 Razor 类库中定义的组件。有用。

我想做的是开发一个 Blazor 服务器端应用程序,将来可以将托管模型更改为 WASM。我想知道是否可以在共享 RCL 中创建页面和组件,在这种情况下,我可以在 Blazor 服务器端项目中创建控制器,并通过 Http 调用从 Razor 类库中使用它们。如果我想将托管模型更改为 WASM,这将在将来对我有所帮助。

无论如何,我已经尝试在 RCL 中创建一个 Blazor 页面,但是当我尝试调用里面写的 URL 时,@page它没有到达。

我想问你是否有可能实现这种行为。如果是,我错过了什么?

您可以复制我的示例,只需创建一个新的 Blazor 服务器端项目,使其引用 RCL,然后插入@page "/testpage"Component1.razor

asp.net-core blazor razor-class-library blazor-server-side blazor-client-side

4
推荐指数
1
解决办法
637
查看次数

使用 TargetFramework 创建 Razor 类库到 .net core 3 会引发错误

我正在创建一个 ASP.Net Core 3 预发布 9 MVC 应用程序,我想创建一些 Razor 类库 (RCL)。当从模板创建 RCL 时,它将默认为目标netstandard2.0,这对于 .Net Core 3 确实不再可能,参考以下GitHub 问题。然后通过以下代码抛出一些奇怪的错误:

<Project Sdk="Microsoft.NET.Sdk.Razor">
  <PropertyGroup>
    <TargetFramework>netcoreapp3.0</TargetFramework>
    <RazorLangVersion>3.0</RazorLangVersion>
  </PropertyGroup>

  <ItemGroup>
    <FrameworkReference Include="Microsoft.AspNetCore.App" />
  </ItemGroup>
</Project>
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

c# razor asp.net-core razor-class-library asp.net-core-3.0

3
推荐指数
1
解决办法
715
查看次数