如何解决类型'xxx'存在于MVC视图的'[website root]'和'App_Code'中?

时间:2013-12-03 01:46:08

标签: c# asp.net asp.net-mvc asp.net-mvc-4 duplicates

我创建了一个自定义标识,主体和成员资格提供程序,并通过UserContext类访问它们(所有这些都位于App_code中):

public static class UserContext
{
    public static CustomPrincipal User
    {
        get
        {
            return (CustomPrincipal)HttpContext.Current.User;
        }
    }

    public static CustomIdentity Identity 
    { 
        get 
        {
            return (CustomIdentity)HttpContext.Current.User.Identity; 
        } 
    }
}

从控制器类,我可以做到:

string userName = UserContext.Identity.Name;

但是,从视图中执行以下操作时:

 @Html.Encode(UserContext.Identity.Name)

我在运行时收到以下错误:

  

两者中都存在“Website.Infrastructure.UserContext”类型   'c:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Temporary ASP.NET   文件\根\ 533b7079 \ 25c5a39c \组件\ DL3 \ 13397e32 \ 308e247b_c8efce01 \ Website.DLL”   和'c:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Temporary ASP.NET   文件\根\ 533b7079 \ 25c5a39c \ App_Code.-ze7s5wd.dll'

我已清除了临时/缓存IISExpress文件夹等ensured that I'm using System.Web v4.0.0,并尝试在共享布局视图顶部和相关视图的Web.config中添加using [namespace]。部分。

查看视图,我在

下看到编译错误(建议?)
UserContext
  

'xxx'类型存在于'[website root]'和'app_Code'中   MVC视图

建议?

2 个答案:

答案 0 :(得分:0)

我想发表评论,但我没有足够的评论意见,所以给出答案。

尝试使用完全限定的类名,如

  

<强> Namespace.UserContext

,这可能会解决冲突。

答案 1 :(得分:0)

This is your library code in a utility class

工作正常。我注意到在原始描述中添加了对视图web.config的引用。这是不正确的和视图web.config&lt;&gt;到应用程序的web.config。

  • 将实用程序项目的引用添加到主网站

  • 构建

在您的情况下,从任何其他配置文件中的其他地方获取引用。如果您愿意,我可以将项目提供给您