gpt4 book ai didi

c# - NancyFx - Razor 编译错误

转载 作者:行者123 更新时间:2023-11-30 19:40:46 25 4
gpt4 key购买 nike

编译 View 时出错

Error compiling template: views/devices.cshtml

Errors:
[CS0234] Line: 3 Column: 27 - The type or namespace name 'Services' does
not exist in the namespace 'Rioxo.Companion'
(are you missing an assembly reference?)

Details:
@using System
@using System.Collections.Generic
@using Rioxo.Companion.Services <---

web.config

<razor disableAutoIncludeModelNamespace="false">
<assemblies>
<add assembly="Server32" />
<add assembly="Rioxo.Companion.Services" />
</assemblies>
<namespaces>
<add namespace="Rioxo.Companion.Server" />
<add namespace="Rioxo.Companion.Services" />
</namespaces>
</razor>

这可能是什么问题?

最佳答案

编辑: 原来的问题是通过将配置放在正确的 .config 文件中解决的,以供将来引用,在这里添加您也可以实现自己的 IRazorConfiguration Nancy 会自动选择哪个,这意味着您根本不需要任何 .config 注册。

例子:

public class RazorConfig : IRazorConfiguration
{
public IEnumerable<string> GetAssemblyNames()
{
yield return "MyWebsite.Web";
yield return "MyWebsite.Models";
yield return "Sandra.SimpleValidator";
yield return "ServiceStack.Text";
}

public IEnumerable<string> GetDefaultNamespaces()
{
yield return "Nancy.Validation";
yield return "System.Globalization";
yield return "System.Collections.Generic";
yield return "System.Linq";
yield return "MyWebsite.Web";
yield return "MyWebsite.Models";
yield return "MyWebsite.Web.ViewModels";
yield return "MyWebsite.Web.Helpers.RazorHelpers";
}

public bool AutoIncludeModelNamespace
{
get { return true; }
}
}

原答案:

我其实不知道什么Rioxo是,他们的网站似乎没有下载。

所以我在这里拍摄并假设它是因为您没有正确地按名称引用程序集。

我觉得名字大概是Rioxo.CompanionRioxo

因此更新 <assemblies>部分类似于:

<razor disableAutoIncludeModelNamespace="false">
<assemblies>
<add assembly="Server32" />
<add assembly="Rioxo" />
</assemblies>
<namespaces>
<add namespace="Rioxo.Companion.Server" />
<add namespace="Rioxo.Companion.Services" />
</namespaces>
</razor>

<razor disableAutoIncludeModelNamespace="false">
<assemblies>
<add assembly="Server32" />
<add assembly="Rioxo.Companion" />
</assemblies>
<namespaces>
<add namespace="Rioxo.Companion.Server" />
<add namespace="Rioxo.Companion.Services" />
</namespaces>
</razor>

应该可以解决问题。

关于c# - NancyFx - Razor 编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21877455/

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