【问题标题】:How to move blazor components to a different assembly如何将 Blazor 组件移动到不同的程序集
【发布时间】:2020-06-01 11:22:19
【问题描述】:

我有一个 blazor 服务器项目,我想将一些共享组件移动到不同的程序集,看看它是否会在编译时间上有所不同(让我知道这是否可行……) ,但这并不顺利。

在 VS2019 中,组件的 razor.cs 部分与 .razor 部分处于同一级别(而不是像在 blazor 项目中那样位于它们的“下方”),而其他组件找不到它们。奇怪的是,项目构建并运行,但组件只是空白。我已经清理、重建、删除了 bin 和 obj 文件夹,重新启动了 VS 等,没有任何更改。

我已经更新了_Imports.razor 文件,一切都应该是它需要的样子,但这就是行不通。

任何帮助表示赞赏!

编辑:这是“下”:

这是它的显示方式:

【问题讨论】:

  • 您所说的“而不是像在 blazor 项目中那样‘在’他们之下”是什么意思?
  • 文件嵌套可以在csproj文件中修复。还有一个 VS 的扩展。
  • 问题是我的文件都不在 .csproj 文件中。这并不重要,只是奇怪的是它们没有嵌套在其他项目中。

标签: blazor blazor-server-side


【解决方案1】:

如何将 blazor 组件移动到不同的程序集?

您可以使用 @namespace Your.Name.Space 更改命名空间

【讨论】:

    【解决方案2】:

    奇怪的是,项目构建并运行,但组件只是空白。

    只有 .cs 基础部分被链接,您的 .razor 代码被忽略。因此,您的所有组件都呈现为它们的基类,为空。

    您需要构建时支持才能将 .razor 编译为中间 C#。

    您可以将页面移动到 Razor 类库,然后选中“支持页面和视图”框。

    但该项目类型更针对独立组件,提供自己的 css 文件等。这可能会或不会满足您的需求。

    一般来说,我预计构建时间不会有太大差异,它们甚至可能会增加。因此,您可能需要重新考虑这一点。

    【讨论】:

    • 我还没有设法让它在一个解决方案中发挥作用,但这确实推动了我前进。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2021-07-11
    • 2015-11-29
    • 2020-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-09
    相关资源
    最近更新 更多