gpt4 book ai didi

.net - RazorEngine - 如果仅在 View 中使用,则不会加载引用的程序集

转载 作者:行者123 更新时间:2023-12-01 01:11:26 25 4
gpt4 key购买 nike

我正在使用 RazorEngine 在 MVC 上下文之外的服务层中执行一些模板,并且当这些程序集中的类仅在 View 中使用时,我遇到了程序集未加载到 AppDomain 的问题。让我详细说明。

我有一些 Razor 模板,它们是独立程序集中的嵌入式资源(我们称之为程序集 A)。

其中一个模板 ( MyTemplate ) 使用一个实用程序类 ( MyHelperClass ),它驻留在另一个程序集中(我们称之为程序集 B)。

程序集 A 对程序集 B 有硬引用。

当我尝试解析引用 MyHelperClass 的模板时我很熟悉,“您是否缺少 using 指令或程序集命名空间”。当我在 Visual Studio 中调试并查看模块窗口时,我可以看到程序集 B 未加载到 AppDomain 中。如果我通过代码进行调试并在代码失败之前通过中间窗口加载程序集,它就可以工作。

因此,对于 .NET 框架而言,仅在 View 中使用似乎不足以将程序集加载到 AppDomain 中。我认为在标准 MVC 项目中也可能出现这种情况,尽管我没有对此进行测试。

真的是两个问题。

  • View 中的引用是否不足以导致运行时加载程序集?
  • 在这种情况下,强制加载此程序集而不必求助于 Assembly.Load 的最佳方法是什么?或引用一个虚拟类。
  • 最佳答案

    最后我认为这些模板的运行时编译太脆弱了,将来出现这种情况的可能性让我感到非常不安。相反,我决定更改我的项目以使用 RazorGenerator NuGet 包并预编译 View 以避免任何运行时意外。

    关于.net - RazorEngine - 如果仅在 View 中使用,则不会加载引用的程序集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15219325/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com