首页 新闻 会员 周边

请教下blazor server项目中如何将建立多程序集

0
悬赏园豆:5 [已解决问题] 解决于 2024-04-06 14:12

怎么建立如下图一样的项目集,如下图所示红色框,跟以前asp.net和winform不一样,研究半天没成功,只好上来求教了

问题补充:

还有一个问题没解决,就是下图所示,搞不定

反复试了 .Net Standard模板项目,无法将 Shared分离出来,首先该项目程序集,不允许新建Razor组件、Controller等

狼图腾TOP的主页 狼图腾TOP | 菜鸟二级 | 园豆:322
提问于:2023-08-09 22:59

我使用了asp.net core 空项目,
1、创建新项目并删除里面自带的所有文件及文件夹
2、然后将Shared迁移到刚才新建的项目中去了
3、修改新建的asp.net core 项目属性,调整输出为:类库

不知道这样的操作方法对不对

深夜的狼图腾 8个月前

真奇怪,也没修改太多内容,Razor类库项目中那个Pages文件夹下又能正常调用了

狼图腾TOP 8个月前
< >
分享
最佳答案
0

1、如果想在类库中使用razor相关功能,例如cshtml视图或razor组件,请使用razor类库模版新建项目,或者把项目的SDK改成Microsoft.NET.Sdk.Razor,razor相关文件需要通过razor sdk转换成普通cs文件再进入编译器,可以从源生成器看到生成的代码。所以普通类库项目无法使用razor功能,除非你手写生成的代码,并引入相关的程序包,但是razor SDK还提供css隔离,web资源打包等额外功能,你不会想全部手写这些东西吧。

2、如果想让razor组件支持wasm模式,还需要在项目中添加

<ItemGroup>
  <SupportedPlatform Include="browser" />
</ItemGroup>

向程序包报告这是支持wasm模式的项目,注意不要写wasm不支持的代码,这个报告只是提示开发者,编译器无法自动准确判断。

3、如果只是想在普通类库中使用aspnetcore中的类型(razor编译相关功能除外),例如Controller,在项目中添加

<ItemGroup>
  <FrameworkReference Include="Microsoft.AspNetCore.App" />
</ItemGroup>

引用aspnetcore元包,包版本由框架版本决定,编译时会根据实际使用的类型裁剪无用的程序集。

收获园豆:5
coredx | 小虾三级 |园豆:678 | 2023-10-19 11:05
其他回答(1)
0

在 Blazor Server 项目中,可以通过以下步骤来建立多个程序集:

  1. 打开 Visual Studio 或者你使用的 IDE。
  2. 创建一个新的 Blazor Server 项目。假设你创建的解决方案名称是 "BlazorApp1"。
  3. 在解决方案资源管理器中,右键点击解决方案名称 "BlazorApp1",选择 "添加" -> "新项目"。
  4. 在 "添加新项目" 对话框中,选择 "类库 (.NET Standard)" 项目模板,并命名为 "BlazorApp1.Shared"。这将创建一个新的类库项目,用于存放共享的代码和组件。
  5. 重复步骤 3 和 4,创建另一个类库项目,命名为 "BlazorApp1.Server",用于存放服务器端代码和组件。
  6. 现在解决方案中应该有三个项目:BlazorApp1、BlazorApp1.Shared 和 BlazorApp1.Server。
    • BlazorApp1 是客户端项目,包含用户界面和前端逻辑。
    • BlazorApp1.Shared 是共享项目,包含可与客户端和服务器端共享的代码和组件。
    • BlazorApp1.Server 是服务器端项目,包含服务器端逻辑和与客户端通信的代码。

你可以在这些项目中编写相应的代码,并在 BlazorApp1.Shared 中定义可共享的组件和服务,以供客户端和服务器端使用。

lanedm | 园豆:2378 (老鸟四级) | 2023-08-14 08:59

选择这个 "类库 (.NET Standard)" 这个模板创建,将Shared移入第新的项目中,运行时提示好多错误,我选择asp.net core 模板创建的运行就不会报错,另外选择Razor类库,移过去,该修改的地方都修改了,有些引用的命名空间,一直报错,按照以前引用类库的方法行不通

支持(0) 反对(0) 狼图腾TOP | 园豆:322 (菜鸟二级) | 2023-08-14 16:47

用asp.net core空项目或者用asp.net core webapi这两个模版创建的程序集分离出来shared可以正常运行

支持(0) 反对(0) 狼图腾TOP | 园豆:322 (菜鸟二级) | 2023-08-14 17:57
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册