Visual Studio 2010中的参考项目与参考DLL

本文关键字:参考 项目 DLL Studio 2010 Visual | 更新日期: 2023-09-27 18:25:27

我遇到了一个非常奇怪的问题,我想了解发生了什么。我有一个包含30个项目的解决方案,除了其中一个项目外,所有项目都运行良好。此项目依赖于同一解决方案中的另一个项目。添加Project引用在编辑器中看起来很好(没有红线等),但在编译时,我会收到编译器错误,好像引用不在那里一样。但是,如果我直接在项目生成的DLL上添加引用,那么它就可以正常工作。我仔细检查了一下,在这两种情况下,它都引用了完全相同的DLL。为什么它不能作为项目参考?欢迎有任何想法!

Visual Studio 2010中的参考项目与参考DLL

项目构建顺序是一个需要解决的棘手问题,MSBuild有时确实会失败。问题中没有任何东西可以帮助我们帮助您找到根本原因。

简单的解决方案是帮助MSBuild并明确它。右键单击未正确生成的项目,然后选择"项目依赖项"。勾选需要首先构建的。还请注意同一对话框中的"构建顺序"选项卡,它会显示项目的构建顺序。确保它现在是一个愉快的订单。

还要注意,从技术上讲,创建循环依赖关系是可能的。这并不简单,它需要增量地更改项目并添加对现有DLL的引用。换句话说,你做了什么,不应该做什么:)你用Build+Clean诊断出了这一点,但再也没有成功构建解决方案。

您可能没有引用所述DLL的最新版本。直接DLL引用不会强制重新生成该DLL,但项目引用会。有时VS不会清楚地报告依赖DLL构建错误,所以很可能是DLL的最新代码中有错误,而您链接到的是旧代码。请尝试查看输出窗口(而不是错误列表),以了解为什么不会生成它的详细信息。

当我遇到这样的问题时,我通常会通过以下两件事之一来解决它们。。。

  1. 关闭VS并重新打开解决方案。它有时会对参考文献"感到困惑"
  2. 删除项目引用并重新添加

我建议编辑项目文件,看看每个引用实际指向的是什么。此外,检查配置管理器,确保在为您正在构建的特定平台''配置构建时包含"问题"项目。'

两个项目在同一个解决方案中?如果是,您可能需要检查它们的生成顺序,确保引用的是在引用它的之前生成的。此外,MSBuild中存在错误,这可能会解决您的问题:MSBuild错误的解决方案

项目的名称与所在文件夹的名称不同。当将其用作项目引用时,不确定是否与此有关,但重命名项目文件夹解决了问题。