c# – 随机程序集引用失败(“你缺少using指令或程序集引用吗?”)

我的应用程序混合使用3.5和4.0目标程序集。我正在开发一个新的Windows服务针对4.0,该项目突然似乎无法看到解决方案中的一些其他程序集。意思是,在构建时,对这些特定其他程序集的所有引用都会产生以下错误:

The type or namespace name ‘[X]’ does not exist in the namespace ‘[Y]’ (are you missing an assembly reference?)

如果我删除项目引用并重新添加它,红色squigglies消失,Intellisense再次踢,就像它的应该。在解决方案中的所有其他项目构建没有问题。但是,一旦我尝试建立这个新项目,错误回来了。

其中一个失败的引用是我们的Core.dll,目标是3.5。我们最近添加了一个CoreEx.dll目标4.0,在程序集之间共享命名空间。新服务可以看到CoreEx.dll,但不是Core.dll …例如,当我开始使用Core.Utilities打字… Intellisense从CoreEx.dll中选择较小的命名空间,但不显示任何只显示在Core.dll。我很确定解决方案构建成功后添加了这一点,但它是一个值得注意的最近的变化。

另一个失败的引用是我们的核心Data.dll,它拥有一堆数据集和Entity Framework东西。这一个最近迁移到4.0。再次,我几乎是积极的移植项目后构建的解决方案,但值得一提。

最后一个失败的引用是一个程序集,它使用服务中的一个级别“up”的命名空间。例如,有问题的项目是基于命名空间ProductName.Component.ComponentService,它无法看到基于命名空间ProductName.Component的项目。这一个最近与有问题的项目一起创建,也针对4.0。

正如你可以看到,似乎没有任何韵律或原因,程序集引用失败…和有问题的项目可以成功地引用解决方案中的一些其他程序集。我尝试清洗,重新构建,重新启动Visual Studio …没有什么固定的永久。可能是什么原因?

最佳答案
检查新项目的目标平台,并确保它不针对.NET 4客户端配置文件。如果是,请将其更改为常规.NET 4

转载注明原文:c# – 随机程序集引用失败(“你缺少using指令或程序集引用吗?”) - 代码日志