无法获得项目参考的依赖项

时间:2009-05-14 13:35:06

标签: asp.net tfs msbuild tfsbuild

我有一个带有网站项目和C#库的C#解决方案。 在编译解决方案时,网站会给出消息:

无法获得项目参考'MyLibrary'的依赖项。

这不会阻止wbsite编译和运行,直到我尝试使用TFS构建构建它,此错误消息使构建失败。

这意味着什么?如何绕过它?

12 个答案:

答案 0 :(得分:24)

在尝试了很多事情之后,我意识到了一些事情。无论我做了什么来清除构建等,错误都永远不会消失。我关闭并重新打开解决方案,它就消失了。

答案 1 :(得分:13)

当您收到错误消息“无法获取项目引用的依赖项”时,可能的原因之一可能是您在解决方案中引用了另一个项目,该项目的Target框架与引用项目的目标框架不兼容

您可以通过转到项目属性并选择左侧的“应用程序”选项卡来查看为项目指定的目标框架。

我写这篇文章是因为它发生在我身上,我在目标框架3.5的项目中使用Target framework 4.0引用了一个项目。

答案 2 :(得分:7)

在记事本中打开网站proj文件并检查参考等...可以帮助

答案 3 :(得分:5)

在我的案例中,引用的项目是在VS 2010上创建的,而引用是VS 2008解决方案。 在这种情况下,刚刚使用记事本编辑了vs 2010项目,并更改了 ToolsVersion =“4.0”到ToolsVersion =“3.5”

答案 4 :(得分:2)

查看您的参考资料。确保您具有MyLibrary项目参考的正确路径。

我会尝试删除它并添加它。然后我会选择Rebuild Solution而不是build,因为rebuild会删除所有.dll并重建它们。

答案 5 :(得分:1)

这是VS SDK中的官方错误:

https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=276380

  

我打开了这个,我可以在那里阅读以下内容:Von Microsoft   am09.05.2007 um 19:05 bereitgestellt

     

感谢您的反馈。我们在Visual Studio上重现了这个错误   2005 SP1,我们将此错误发送到其中的相应组   用于分类和分辨率的VisualStudio产品团队。

     

谢谢你,Visual Studio产品团队。

     

我认为这个bug仍然存在于网站项目中,是的;我们用VS.   20102终极。我在我的Virtual下的\ APP_CODE中有一个应用程序   目录和我有2个DLL,其源代码是C#,我有   3个DLL的源代码是Oxygene,OXygene(PASCAL)来自   的RemObjects。我只看到写入的DLL时看到这个引用   PASCAL;但是当我从测试应用程序测试这3个DLL时,一切都是   很好,我的测试应用程序绝对没有问题参考任何   这3个DLL中的类或变量。那可能是什么区别   在编译/构建ledaing到VS中的以下错误字符串   输出窗口。多次描述的错误,永远不会消失。

     

无法获得项目引用的依赖项'Toolbox'不能   获取项目引用的依赖项'IMPLEM'无法获取   项目参考'LEGACY'Validating网站

的依赖项

答案 6 :(得分:1)

如果通过“TFS build”表示您使用的是单独的构建服务器,那么您可以尝试检查构建服务器正在使用的构建配置。

例如,当您在本地计算机上构建时,您可能会在构建服务器使用发布配置时定位调试配置。

Configuration Manager

在每个构建配置中,您可以确保选择要构建项目“MyLibrary”。

答案 7 :(得分:0)

如果您在清理和重建解决方案后始终遇到此问题,则表示任何引用的项目都存在问题。在编译过程中检查“输出”窗口中是否有任何警告。补救警告,它可以帮助你成功编译。

答案 8 :(得分:0)

“Clean Solution”无法提供帮助,有时您需要从网站项目(Bin文件夹)中手动删除DLL。 删除DLL并再次构建解决方案。

答案 9 :(得分:0)

就我而言,我在解决方案上删除了.NET 4.6更新的程序集,并且其中一个项目恰好设置为.NET 4.5,即降级了程序集或将项目升级到4.6对其进行了修复。

答案 10 :(得分:0)

无法获取项目引用“X”的依赖项

出现这个错误的原因有很多,VisualStudio 错误窗口中显示的错误信息不准确。因此混乱。

一般原因: 项目“X”引用:项目 X 引用的项目/DLL 之一无法正常工作或不兼容。

疑难解答提示

  1. 首先重建项目 X 并在输出窗口中观察我们的“错误”。确保满足所有依赖项并且构建输出日志中没有错误。
  2. 如果存在任何项目依赖项,请确保构建输出路径匹配。如果没有,请正确删除和添加。
  3. 如果存在任何项目依赖项,则架构不匹配。确保所有引用的项目都有类似/兼容的构建配置。
  4. 尝试分析在记事本中打开的 csproj 文件,如果上述所有步骤都没有问题,但错误仍然相同,这可能会有所帮助。所以这可能是 VisualStudio 的问题。
  5. 以上都失败了,并且您已经升级了框架或更改了很多 dll 引用,那么最好关闭并重新打开 Visual Studio 并重试。

希望有助于节省开发时间。

答案 11 :(得分:-1)

尝试检查项目的配置。我注意到将其更改为“任何CPU”都可以。