怎么建立如下图一样的项目集,如下图所示红色框,跟以前asp.net和winform不一样,研究半天没成功,只好上来求教了
还有一个问题没解决,就是下图所示,搞不定
反复试了 .Net Standard模板项目,无法将 Shared分离出来,首先该项目程序集,不允许新建Razor组件、Controller等
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元包,包版本由框架版本决定,编译时会根据实际使用的类型裁剪无用的程序集。
在 Blazor Server 项目中,可以通过以下步骤来建立多个程序集:
你可以在这些项目中编写相应的代码,并在 BlazorApp1.Shared 中定义可共享的组件和服务,以供客户端和服务器端使用。
选择这个 "类库 (.NET Standard)" 这个模板创建,将Shared移入第新的项目中,运行时提示好多错误,我选择asp.net core 模板创建的运行就不会报错,另外选择Razor类库,移过去,该修改的地方都修改了,有些引用的命名空间,一直报错,按照以前引用类库的方法行不通
用asp.net core空项目或者用asp.net core webapi这两个模版创建的程序集分离出来shared可以正常运行
我使用了asp.net core 空项目,
1、创建新项目并删除里面自带的所有文件及文件夹
2、然后将Shared迁移到刚才新建的项目中去了
3、修改新建的asp.net core 项目属性,调整输出为:类库
不知道这样的操作方法对不对
– 深夜的狼图腾 1年前真奇怪,也没修改太多内容,Razor类库项目中那个Pages文件夹下又能正常调用了
– 狼图腾TOP 1年前