2010-05-21 53 views
1

我正在使用Visual Studio和一个包含10个左右项目(主要是VB,一些C#)的解决方案,这些项目都有不同的依赖关系。通常当我编译解决方案时,它工作正常。偶尔当我这样做时,我得到一个构建错误,说一个引用的项目是错误的版本(我认为总是相同的,可能是两个可能导致问题)。在这种情况下,进入解决方案资源管理器,右键单击所提及的项目,并说“重建”,然后是另一个完整版本,使其正常工作。Visual Studio内部项目引用不总是工作

我认为有些地方设置了错误,但我最初并没有自己设置解决方案,并且快速查看并没有立即显示任何错误。

感觉就像有一种竞争条件,VS在内部设置它需要的项目的版本号,因为在项目被重建之前,因此得到了错误或类似的东西,但我相信VS应该妥善处理所有这些事情。

可有人请建议,我可以检查这是否已正确设置了地方......

而且,我也要最后请注意,因为我没有这个可靠的摄制我可能无法回答问题太快。例如,“你能给出确切的错误信息”中的一个明显的问题将不得不等待,因为我今天早上没有想到要复制它,只是在我按照上面的步骤清理它之后,我才想在这里发布。同样任何解决方案可能需要一段时间才能确认

编辑以添加错误消息:

间接引用被组装ODP版本1.0.3792.16586,其包含由 '{{CLASSNAME}}'。本项目引用ODP版本1.0.3791.18659的先前版本。要使用“{{CLASSNAME}}”,您必须将ODP的引用替换为版本1.0.3792.16586或更高版本。

编辑更多的显然是相关细节

既然已经买了,我会澄清的一个项目是web项目,它是这其中之一是生成上面的错误消息。

进一步编辑

说完看着进一步有ODP.dll在我的web项目的bin diretory副本。使用Windows资源管理器并右键单击,请求属性并查看版本1.0.3791.18659。删除它(实际上移动到其他地方)时,它重新创建该文件仍然具有相同的版本号(即旧版本号)。

ODP声称自己是一个项目引用过这仍然让我觉得这应该只是工作... :(

而且进一步编辑

现在我觉得现在的问题是,如果ODP项目的变化,然后重建它,但并不需要重建依赖它的所有项目,所以一个项目可能仍然是针对旧版本和另一个针对新版本构建的,如果他们然后试图说话在每个otehr与ODP中的对象之间出现错误......我需要确认这一点,但我不确定此时需要采取什么措施来解决此问题。:)

回答

0

构建顺序是否正确?我可以想象,如果你建立一个引用另一个的项目,而那个项目还没有建立,你可能会遇到这样的问题。

链接:http://msdn.microsoft.com/en-us/library/5tdasz7h%28v=VS.80%29.aspx

+0

我的理解是,建立依赖关系的事实意味着它应该以正确的顺序构建它们。这个错误似乎是在构建顺序列表中的最后一个Web项目中抛出的......检查构建顺序后,问题程序集在构建顺序列表中排在第三位。但我会记住它。 – Chris 2010-05-21 09:04:15

0

如果你有一个网站项目,你确定你已经设置这些是“项目”的引用,而不是“本”的引用 - 你可以这样会得到一些问题。

+0

我确实有一个网站项目,它是在这里,它抛出了错误的问题。这听起来像是作为一个解释很有意义(假设项目引用指的是项目本身和bin引用到bin目录中的dll。) – Chris 2010-05-21 09:05:54

+0

我已经检查过,它绝对是一个项目引用。正如我现在编辑到原来的问题,如果我从bin目录中删除文件,它仍旧使用旧版本号重新创建它们... – Chris 2010-05-21 09:41:56

相关问题