gpt4 book ai didi

c# - 随机程序集引用失败 ("Are you missing a using directive or an assembly reference?")

转载 作者:IT王子 更新时间:2023-10-29 04:09:10 26 4
gpt4 key购买 nike

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

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

如果我删除项目引用并重新添加它,红色波浪线就会消失,Intellisense 会像预期的那样再次启动。解决方案中的所有其他项目都可以毫无问题地构建。 但是当我尝试构建这个新项目时,错误又回来了。

其中一个失败的引用是我们的 Core.dll,它的目标是 3.5。我们最近添加了一个针对 4.0 的 CoreEx.dll,在程序集之间共享命名空间。新服务可以看到 CoreEx.dll 但看不到 Core.dll... 即,当我开始键入 using Core.Utilities... 时,Intellisense 从 CoreEx.dll 中获取较小的命名空间集,但是不显示任何仅在 Core.dll 中出现的内容。我很确定添加这个后解决方案成功构建,但这是最近的一个显着变化。

另一个失败的引用是我们的核心 Data.dll,它包含一堆数据集和 Entity Framework 的东西。这个最近迁移到 4.0。同样,我几乎肯定迁移项目后构建的解决方案,但值得一提。

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

如您所见,程序集引用失败似乎没有任何规律或原因...并且有问题的项目可以成功引用解决方案中的其他程序集一些 .我试过清理、重建、重新启动 Visual Studio……没有什么能永久修复它。可能是什么原因造成的?

最佳答案

检查新项目的目标平台并确保它不是针对 .NET 4 Client Profile。如果是,请将其更改为常规 .NET 4

关于c# - 随机程序集引用失败 ("Are you missing a using directive or an assembly reference?"),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5825867/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com