gpt4 book ai didi

c# - 不能将 MvcHtmlString/IHtmlString 与 RazorEngine 一起使用

转载 作者:行者123 更新时间:2023-11-30 16:17:29 24 4
gpt4 key购买 nike

我刚开始使用 RazorEngine,但在使用静态辅助方法时遇到了麻烦。它只是为模板生成一个 MvcHtmlString/IHtmlString。当调用 Razor.Parse(...) 我得到

RazorEngine.Templating.TemplateCompilationException : Unable to compile template. 
Der Typ 'System.Web.IHtmlString' ist in einer nicht referenzierten Assembly definiert. (not referenced)
Fügen Sie einen Verweis auf die Assembly 'System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' hinzu.

我添加了对 System.WebSystem.Web.MvcSystem.Web.WebPages 的引用。还尝试将它们添加到 cshtml(@using System.Web@using System.Web.Mvc)。但是 @using System.Web.Mvc 导致 .MvcSystem.Web 中不可用?!

我目前正在尝试在 NUnit 测试中构建模板。

最佳答案

RazorEngine 有一个类 CompilerServicesUtility。它负责在编译 View 时加载程序集并使程序集可用。它默认返回当前 AppDomain 中加载的所有程序集。

对于查看代码的人来说,这有点不直观,但是确保 Razor View 编译并且可以使用 MvcHtmlString 的一种方法是使用 AppDomain 将 System.Web 和 System.Web.Mvc 程序集加载到当前的 AppDomain 中。 Current.Load("") 在执行/编译您的 View 之前。

关于c# - 不能将 MvcHtmlString/IHtmlString 与 RazorEngine 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17105370/

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