类型或命名空间 不存在

2023-12-22

好吧,我之前已经遇到过这个问题一百万次了,而且之前已经被回答过 100 万+1 次了。

然而,再一次。我有 3 个项目,A、B 和 C,每个项目都有一个 DLL。每个项目都是.Net 4.0(不是客户端构建,完整的4.0)。项目 C 引用 A 和 B。它们被作为项目引用,并且输出设置为本地复制。

在 C 中,我的 .cs 文件中有两个 using 语句:

using A;
using B;

当我编译时,我得到的抱怨是找不到B。A没问题。 B 取决于 A。

我到底该怎么办?我删除并重新添加,关闭VS2010,重新打开它,查看.csproj文件。我就是无法得到它。又是第一百万次。

请有人给我足够的理智,让我一劳永逸地了解这个来源!

是的,这可能在 StackOverflow 的某个地方得到了答案,但在我迄今为止检查过的任何最佳答案中都没有。这些术语太通用了,无法使用,太多问题的答案是“呃,添加参考文献”。我已经过了那个阶段了。

这是我得到的错误。有3种,但从以往的经验来看,最后一种才是真正的。

Error   130 'AWI.WWG.EXPMRI.MriUpload.Data.MriUpload' does not contain a definition for 'Database' and no extension method 'Database' accepting a first argument of type 'AWI.WWG.EXPMRI.MriUpload.Data.MriUpload' could be found (are you missing a using directive or an assembly reference?) 

Error   114 'object' does not contain a definition for <blah>

Error   59  The type or namespace name '<blah>' could not be found (are you missing a using directive or an assembly reference?)    

啊哈,我查看了警告,而不仅仅是错误,这是我看到的:

Warning 69  The referenced project '..\..\..\..\..\..\..\Partners\integration\framework\connectors\Partners.Connectors.Base\Partners.Connectors.Base\Partners.Connectors.Base.2010.csproj' does not exist.  AWI.WWG.EXPMRI.MriUpload.Objects

在本例中,该 .csproj 文件是“B”。即使我删除并重新添加项目引用,我还是得到了这个。但我感觉我离自己越来越近了!

嗯,我刚刚找到了另一个 DLL,将其命名为“D”,“A”引用了它。当我将其添加到项目中时,我开始收到抱怨:

----------------
The  Add Reference Dialog could not be shown due to the error:

The specified path, file name, or both are too long.  The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters.
----------------

这可能是相关的,还是只是另一种干扰?


好吧,我发现了这个问题,虽然我不明白。

当我通过 IDE 添加引用时,它会将其添加到“C”的 csproj 文件中:

<ProjectReference Include="..\..\..\..\..\..\..\Partners\integration\framework\connectors\Partners.Connectors.Base\Partners.Connectors.Base\Partners.Connectors.Base.2010.csproj">

这不会编译,它警告找不到引用的项目,然后所有这些错误都会发生。但后来我将 ProjectReference 更改为以下内容:

<ProjectReference Include="C:\...\Partners.Connectors.Base.2010.csproj">

...而且效果很好。请注意,这些路径的长度都不接近 256 个字符。完全合格的只有 135 个字符。但也许 IDE 正在对路径进行一些愚蠢的修饰。


该解决方案与 Windows 中的文件路径限制有关,以及 IDE 将相对路径转换为完整路径的方式,如中所述这个博客 http://www.gitshah.com/2011/06/visual-studio-2010-fixing-referenced.html.

直接的解决方案是手动编辑 csproj 文件以使用绝对路径。在重新添加引用之前,绝对路径将一直有效。有一天我可能会缩短我的文件夹,但目前这不是首要任务。

如果您怀疑存在此问题,请查看编译器发出的警告消息。我经常自己关闭这些功能,只查看错误。但有关“引用的项目不存在”的警告是为我解决此问题的线索。

如果其他链接消失,这里是 MS 文章的链接。http://support.microsoft.com/kb/2516078 http://support.microsoft.com/kb/2516078

值得注意的是,同样的错误会出现多种问题,例如客户端框架定位问题,并且在引用加载失败时会被记录为警告。据推测,引用错误只是一个警告,因为如果实际上不需要引用,那也没关系。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

类型或命名空间 不存在 的相关文章

  • 在 Vulkan 中,图形队列系列与当前队列系列分离是否有益?

    据我所知 队列系列可能支持呈现到屏幕但不支持图形 假设我有一个同时支持图形和呈现的队列系列 以及另一个仅支持呈现的队列系列 我应该为两个进程使用第一个队列系列 还是应该将第一个队列系列委托给图形 将后者委托给呈现 或者这两种方法之间没有明显
  • 使用链表进行堆排序

    我想知道是否有人曾经使用链表进行堆排序 如果他们可以提供代码 我已经能够使用数组进行堆排序 但尝试在链表中进行排序似乎不切实际 而且在你知道的地方很痛苦 我必须为我正在做的项目实现链接列表 任何帮助将不胜感激 我也用C 答案是 你不想在链表
  • C# 静态类型不能用作参数

    public static void SendEmail String from String To String Subject String HTML String AttachmentPath null String Attachme
  • 格式说明符%02x

    我有一个简单的程序 include
  • C#.Net 邮件将进入垃圾邮件文件夹

    我正在从 ASP net Web 应用程序发送电子邮件 邮件发送成功 没有失败 但大多数都进入了垃圾邮件文件夹 请帮助我克服垃圾邮件过滤器 我的发送邮件代码 public void SendMail string FromAddress s
  • 如何修复错误:“检测到无法访问的代码”

    我有以下代码 private string GetAnswer private int CountLeapYears DateTime startDate return count String answer GetAnswer Respo
  • 混合模型优先和代码优先

    我们使用模型优先方法创建了一个 Web 应用程序 一名新开发人员进入该项目 并使用代码优先方法 使用数据库文件 创建了一个新的自定义模型 这 这是代码第一个数据库上下文 namespace WVITDB DAL public class D
  • 如何向 Mono.ZeroConf 注册服务?

    我正在尝试测试 ZeroConf 示例http www mono project com Mono Zeroconf http www mono project com Mono Zeroconf 我正在运行 OpenSuse 11 和 M
  • 用于在标头更改时重新编译的简单 C 项目的示例 makefile

    有谁有完整的 makefile 可以执行以下操作 如果 HEADER 文件发生更改 则重建项目 cpp 文件在 makefile 中列出 头文件未在 makefile 中列出 头文件允许与 cpp 文件具有不同的名称 部分cpp文件没有头文
  • 为什么这个 makefile 在“make clean”上执行目标

    这是我当前的 makefile CXX g CXXFLAGS Wall O3 LDFLAGS TARGET testcpp SRCS main cpp object cpp foo cpp OBJS SRCS cpp o DEPS SRCS
  • OpenGL:如何检查用户是否支持glGenBuffers()?

    我检查了文档 它说 OpenGL 版本必须至少为 1 5 才能制作glGenBuffers 工作 用户使用的是1 5版本但是函数调用会导致崩溃 这是文档中的错误 还是用户的驱动程序问题 我正在用这个glGenBuffers 对于VBO 我如
  • 让网络摄像头在 OpenCV 中工作

    我正在尝试让我的网络摄像头在 Windows 7 64 位中的 OpenCV 版本 2 2 中捕获视频 但是 我遇到了一些困难 OpenCV 附带的示例二进制文件都无法检测到我的网络摄像头 最近我发现这篇文章表明答案在于重新编译一个文件 o
  • 以编程方式创建 Blob 存储容器

    我有一个要求 即在创建公司时 在我的 storageaccount 中创建关联的 blob 存储容器 并将容器名称设置为传入的字符串变量 我已尝试以下操作 public void AddCompanyStorage string subDo
  • 调用 .ToArray() 时出现 ArgumentException

    我有一个经常被清除的列表 代码完全是这样的 VisitorAgent toPersist List
  • 如何编写一个接受 int 或 float 的 C 函数?

    我想用 C 语言创建一个扩展 Python 的函数 该函数可以接受 float 或 int 类型的输入 所以基本上 我想要f 5 and f 5 5 成为可接受的输入 我认为我不能使用if PyArg ParseTuple args i v
  • 在 C# 的 WebAPI 中的 ApiController 上使用“传输编码:分块”提供数据

    我需要服务分块传输使用编码数据API控制器 因为我无权访问HttpContext or the Http请求 我有点不知道在哪里写入响应以及在哪里刷新它 设置如下 public class MyController ApiControlle
  • 如何获取带有某个属性注释的所有属性?

    我刚刚从 Roslyn 开始 我想找到所有用属性名称 OneToOne 注释的属性 我启动了 SyntaxVisualizer 并能够获取对该节点的引用 但我想知道是否有更简单的方法来实现此目的 这就是我所拥有的 var prop docu
  • 从后面的代码添加外部 css 文件

    我有一个 CSS 文件 例如 SomeStyle css 我是否可以将此样式表文档从其代码隐藏应用到 aspx 页面 您可以将文字控件添加到标头控件中 Page Header Controls Add new System Web UI L
  • 如何为有时异步的操作创建和实现接口

    假设我有数百个类 它们使用 计算 方法实现公共接口 一些类将执行异步 例如读取文件 而实现相同接口的其他类将执行同步代码 例如将两个数字相加 为了维护和性能 对此进行编码的好方法是什么 到目前为止我读到的帖子总是建议将异步 等待方法冒泡给调
  • 如何在 ASP.NET Core 中注入泛型的依赖关系

    我有以下存储库类 public class TestRepository Repository

随机推荐

  • Websocket连接自动关闭?

    我是网络套接字编程的新手 我有以下 JavaScript 客户端代码 var connection new WebSocket ws localhost 8080 OmegaThings registerdevice connection
  • 输入字段在 Chrome 和 Firefox 中显示不同

    我在 Chrome 中进行了测试 显示正常 但在 Firefox 中 输入框比预期大 这是标记 div class form wrapper div
  • 绘制离屏 CALayer 内容的最快方法

    我正在寻找在 macOS 上绘制离屏 CALayer 内容 不需要 Alpha 的最快方法 请注意 这些示例不是线程化的 但重点是 以及为什么我不只是使用 CALayer setNeedsDisplay 因为我正在后台线程上进行此绘图 我原
  • itunes 上缺少本地化屏幕截图错误

    我已选择默认语言 澳大利亚英语 作为默认语言 当我提交二进制文件时 它显示为被拒绝的 红色图标 状态为 缺少本地化屏幕截图 该应用程序仅使用单一语言 我添加了屏幕截图 该应用程序仅适用于 iPhone 当我查看显示为的二进制信息时 本地化
  • 可以监控 STM 的争用级别吗?

    有没有办法轮询 Clojure 的 STM 事务是否正在重试 以及重试的速率是多少 您可以观察history count一个 ref 将表明存在争用 user gt def my ref ref 0 min history 1 user m
  • Servlet 会话超时

    我正在编写我的 Spring MVC Web 应用程序 我将会话时间设置为 10080 分钟 相当于 1 周 现在我想让用户每次打开浏览器时都保持登录状态 sessionService setcurrentUser myuser HttpS
  • 从 Android Studio 运行应用程序时,在 Gradle 任务 processManifest.doLast 中编辑 AndroidManifest.xml 无效

    我使用以下 Gradle 脚本在编译时对 AndroidManifest xml 进行一些修改 在这个例子中我想注入一个
  • TFS 团队构建日志单元测试结果

    我们正在使用 TFS 2010 Team Build 它会在构建过程中自动运行我们的单元测试 如果单击 查看日志 我可以看到运行的测试列表和每个测试结果 成功 失败 如果发生失败 我想查看测试结果输出 以便开发人员可以找出失败的原因是什么
  • 使用 extern 和 #include 头文件有什么区别?

    我开始质疑 extern 关键字的有用性 该关键字用于访问其他模块 其他文件中 中的变量 函数 当我们使用 include 预处理器导入带有变量 函数原型或函数 变量定义的头文件时 我们不是在做同样的事情吗 extern之所以需要 是因为它
  • javascript location.href onchange 事件监听器?

    我想在你离开页面时显示一条消息 不是烦人的警报 只是一些告诉你等待的html 在考虑它时我面临着某些困难 当用户按下 Stop 时 浏览器 取消导航离开 行动 我想要发送消息 离开 每当单击任何链接时 都会出现该消息 当单击的链接打开另一个
  • Windows 7 中“ruby.exe 未被识别为内部或外部命令”

    我的操作系统是Windows 7 我正要连接我的本地MySQL数据库与Heroku共享数据库 在某一时刻 我得到了libmysql dll文件丢失的错误 所以我搜索并下载了dll文件并将其保存在ruby中 bin 目录 当我再次准备连接时
  • 混合效应逻辑回归

    我正在尝试在 python 中实现混合效应逻辑回归 作为比较 我正在使用glmer函数从lme4R 中的包 我发现statsmodels模块有一个BinomialBayesMixedGLM应该能够适合这样的模型 然而 我遇到了很多问题 我找
  • QTimer线程亲和性

    在文档中它说 在多线程应用程序中 您可以使用QTimer在任何线程中 有一个事件循环 要从非 GUI 线程启动事件循环 请使用QThread exec Qt 使用定时器的线程亲和性来确定 哪个线程将发出timeout 信号 正因为如此 你
  • 位置:固定导致元素比浏览器宽

    谁能告诉我为什么position fixed会导致元素比浏览器或页面上的其他内容更宽并导致水平滚动 这是代码 超文本标记语言
  • 如果我想要像 bootstrap vue 和 vuetify 这样的 2 个 css 框架,请使用同一个项目

    我想要 2 个 CSS 框架使用我现有的 nuxtjs 项目 有人质疑为什么要使用 2 个 CSS 框架一个 vuejs 项目 回答这个问题 我想要我的网站网页版和移动版 我使用网页版是 boostrapvue 它对于网页版来说很棒 或者
  • 使用 FileManager.default.currentDirectoryPath 时,Swift 5.2 出现分段错误:11

    我有一个类似于以下内容的自定义 Swift 脚本 usr bin env xcrun sdk macosx swift import Foundation let path FileManager default currentDirect
  • 当两个路由指向同一模型时,设计资源名称出现问题

    我的 api v1 和 v2 有两条路由指向相同的 Devise 模型 路由如下 scope api do namespace v1 do devise for users controllers gt registrations gt d
  • 如何一次性设置所有formik值?

    我有一个formik用于编辑来自 API 端点的数据的表单 目前我正在重新初始化useEffect像这样挂钩 React useEffect gt initialValues first name address first name in
  • 找不到与给定名称匹配的资源:attr 'android:tabLayout'

    我想通过用我自己的样式替换样式来自定义选项卡小部件 我要更换的项目如下
  • 类型或命名空间 不存在

    好吧 我之前已经遇到过这个问题一百万次了 而且之前已经被回答过 100 万 1 次了 然而 再一次 我有 3 个项目 A B 和 C 每个项目都有一个 DLL 每个项目都是 Net 4 0 不是客户端构建 完整的4 0 项目 C 引用 A