C# 任何Cpu都无法识别命名空间

C# 任何Cpu都无法识别命名空间,c#,.net,visual-studio-2010,C#,.net,Visual Studio 2010,我最近在VS2010、C#和.Net 4中遇到了一个问题,我无法从引用的程序集中使用名称空间(称之为AssemblyA)。这与问题类似 我可以通过将AssemblyA设置为目标x86平台而不是任何Cpu来纠正这个问题 我的问题是,为什么将平台目标更改为x86允许我在项目中使用AssemblyA中的名称空间 我想指出的是,我能够在其他项目中引用AssemblyA,而无需更改平台目标。我所有的参考资料都是项目参考资料 编辑:显然我错了。即使更改为x86,它也不起作用。你知道这是什么原因吗? 更新:我

我最近在VS2010、C#和.Net 4中遇到了一个问题,我无法从引用的程序集中使用名称空间(称之为AssemblyA)。这与问题类似

我可以通过将AssemblyA设置为目标x86平台而不是任何Cpu来纠正这个问题

我的问题是,为什么将平台目标更改为x86允许我在项目中使用AssemblyA中的名称空间

我想指出的是,我能够在其他项目中引用AssemblyA,而无需更改平台目标。我所有的参考资料都是项目参考资料

编辑:显然我错了。即使更改为x86,它也不起作用。你知道这是什么原因吗? 更新:我的所有项目都使用完整的.NET4配置文件

编辑:
在做了一些测试之后,我有了更多的信息。当我在调试/发布版本之间切换(无论切换的顺序如何)并对AssemblyA进行清理时,我就能够使用名称空间了,没有问题。一旦我重建AssemblyA,我就不能再使用名称空间了。我的目标平台似乎无关紧要。

您需要确保引用程序集的项目设置为“.NET 4完整配置文件”,而不是默认的“客户端配置文件”。如果DLL使用完整配置文件中的类,并且程序集设置为客户端配置文件,则无法引用DLL


因此,只需右键单击您的项目,然后单击
Properties
。然后在
应用程序
选项卡下,查看
目标框架
。确保它没有设置为
.NET Framework 4客户端配置文件

我不确定这里的交易是什么,但为了解决问题,我刚刚创建了一个全新的项目并复制了代码。新项目的设置与给我带来问题的项目相同。但是,我可以在我的另一个项目中引用新项目,没有任何问题。

这两个项目都使用“常规”配置文件还是其中一个是客户端配置文件?此类错误最常见的错误是前面已经指出的不同配置文件(客户端与完整)。库中项目和类的名称空间是什么?我记得以前在某些情况下遇到过问题,但我记不起确切的细节。我更新了我的问题。我所有的项目都使用完整的配置文件,而不是客户端。