【发布时间】:2018-05-16 13:26:01
【问题描述】:
我正在尝试编译 razor html 模板,以便在 Microsoft .net Framework 4 Development 中的 webbrowser 控件中使用。一切都很好,直到我想调用“codeProvider.GenerateCodeFromCompileUnit”。 IDE 说对 CodeCompileUnit 类型的类型引用在 System 中是 mssing,即使我能够自己声明 CodeCompileUnit ...
我已经检查了参考资料,清理了解决方案,尝试重新启动 IDE 和类似的东西,但似乎没有任何东西可以解决问题。
我真的不知道该怎么做。这是当前代码:
public static Assembly Compile(IEnumerable<RazorTemplateModel> models)
{
var builder = new StringBuilder();
var codeProvider = new CSharpCodeProvider();
using (var writer = new StringWriter(builder))
{
foreach (var razorTemplateModel in models)
{
GeneratorResults generatorResults = GenerateCode(razorTemplateModel);
codeProvider.GenerateCodeFromCompileUnit(generatorResults.GeneratedCode, writer, new CodeGeneratorOptions());
}
}
var result = codeProvider.CompileAssemblyFromSource(BuildCompilerParameters(), new[] { builder.ToString() });
if (result.Errors != null && result.Errors.Count > 0)
throw new RazorTemplateCompileException(result.Errors, builder.ToString());
return result.CompiledAssembly;
}
代码的第 10 行显示以下错误消息:
这是我在项目中系统引用的截图:
有人可以帮忙吗?
编辑:忘了提到我在 Mono.Android 项目中使用 Xamarin.Android.Support.v4 中的引用
【问题讨论】:
-
所有 NuGet 包都更新了吗?请检查一下好吗?
-
是的,我已经重装了很多次了。
标签: c# asp.net .net razor codedom