命名空间/引用错误

时间:2012-11-20 21:10:58

标签: c# namespaces

我的解决方案不会编译。我在尝试编译项目时收到错误消息:

  

错误2命名空间“Base”中不存在类型或命名空间名称“Security”(您是否缺少程序集引用?)

然而,这是令人困惑的,因为我引用了项目,这是正确的命名空间!这是解决方案设置

解决方案基础 - Base.Domain - Base.Security - Base.Tests - Base.WebUI

在Base.Security中我有一个像这样的自定义角色提供程序文件:

namespace Base.Security.Providers
{
    public class EFRoleProvider : System.Web.Security.RoleProvider
    {
        //code here
    }
}

我在Base.Tests和Base.Tests中引用了Base.Security我有以下文件(这给了我错误):

using Base.Security.Providers;

namespace Base.Tests
{
    class Program
    {
        static void Main(string[] args)
        {
            var a = new EFRoleProvider();
            //more stuffs
        }
    }
}

我不明白..为什么我不能从Base.Tests访问Base.Security类型?

1 个答案:

答案 0 :(得分:1)

确保您的项目是针对相同的.NET版本构建的。从.NET 4.0项目添加对.NET 3.5项目的引用时,我遇到了这个问题。

要检查/更改.NET版本,请右键单击项目,选择属性,然后在“应用程序”选项卡下,确保每个项目的“目标框架”相同。

您的代码看起来正确,这与设置引用的方式有关。