C# 类型或命名空间名称不为';不存在于名称空间中等

C# 类型或命名空间名称不为';不存在于名称空间中等,c#,.net,visual-studio,reference,C#,.net,Visual Studio,Reference,Visual Studio 2012 我有两个项目A和B。A是控制台应用程序。A的默认命名空间为“PayT”。B为类库类型,SAAssembly名称为“RetentionPolicyManager”,B的默认命名空间为“RetentionPolicyManager” 现在在项目A中,我添加了对B的引用,即RetentionPolicyManager.dll 在A类中,有一行: using PayT.RetentionPolicyManager; 但是,当我重新生成解决方案时,总是出现错误: 命

Visual Studio 2012

我有两个项目A和B。A是控制台应用程序。A的默认命名空间为“PayT”。B为类库类型,SAAssembly名称为“RetentionPolicyManager”,B的默认命名空间为“RetentionPolicyManager”

现在在项目A中,我添加了对B的引用,即RetentionPolicyManager.dll

在A类中,有一行:

using PayT.RetentionPolicyManager;
但是,当我重新生成解决方案时,总是出现错误:

命名空间“PayT”中不存在类型或命名空间名称“RetentionPolicyManager”(是否缺少程序集引用?)


如果我不构建解决方案,它看起来是正常的,没有错误。

这是因为
RetentionPolicyManager
PayT
中不存在,它是在一个单独的dll中自己的命名空间,您只需要:

 using RetentionPolicyManager

根据您的描述,它应该是:


使用RetentionPolicyManager;

A
中只需使用:

using RetentionPolicyManager;

B的命名空间是
RetentionPolicyManager
PayT
是程序集A的命名空间。从使用语句中删除
PayT

using RetentionPolicyManager;

几个月前我遇到了同样的问题。问题是两个项目的目标不是同一个平台,即控制台应用程序的目标是
.Net framework 4.0客户端配置文件
,而库的目标是
完整的.Net framework 4.0


通过针对这两个项目的完整.Net 4.0框架进行修复。

您是否尝试过使用RetentionPolicyManager
?实际上,如果我键入PayT,则仍然是错误的。intelsense确实显示“RetentionPolicyManager”。“如果我不构建解决方案,它似乎没有问题,也没有错误。“这就是编译错误……我在一个项目中使用了.net 4.0,在另一个项目中使用了.net 4.5。现在,我将相同的.NET4.0应用于它们。现在找不到库项目的引用错误(在B\bin\Debug中找不到元数据文件,但它在那里)。哪个是4.5,哪个是4.0?您可以尝试为这两个都指定4.5吗?这难道不是VS可以在编译时发现的错误,并且不会抛出看似无关的错误吗?我希望我可以+10。虽然它没有解决我的问题,但它引导我找到了问题的根源。我会浪费几天的时间去想目标平台可能会引发这种情况。