“重建解决方案”编译成功的解决方案中的网站无法启动调试器

时间:2010-03-12 20:42:23

标签: visual-studio-2008 debugging reference

我有一个包含网站的解决方案(使用网站模板而不是网络应用程序项目模板创建 - 转换不是一个选项,顺便说一下。)

当我重建所有内容时,编译成功,但奇怪地显示3个错误,所有错误都是“无法获得项目引用的依赖项'PROJNAME'”。当我尝试启动调试器时,我得到“存在构建错误”。对话。

两个问题:

  1. 如果我在调试错误对话框中选择“是”选项来运行上一次成功构建,它是否会运行我的Rebuild All刚编译的代码?
  2. 如何解决此问题?
  3. 我检查了这篇文章,我的前景感到沮丧。但奇怪的是,我将这些相同的项目添加到一个单独的网站解决方案中,编译/调试很好,删除了测试网站并重新添加了我想要调试的目标网站,但它以同样的方式失败了。是否有.NET网站的秘密网站.proj文件?

    Could not get dependencies for project reference

3 个答案:

答案 0 :(得分:7)

我在这个问题上浪费了一整天。简而言之,我正在使用VS 2008处理遗留的“网站”项目,并且发布失败。我查看了错误列表,看到了可怕的“无法获取依赖关系”错误。我查看了这篇文章以及与Stackoverflow和其他地方的错误相关的其他帖子,并尝试了我找到的所有建议。当我重新安装Visual Studio 2008时,精神错乱达到顶峰,重新启动并再次看到错误。好时光!

第二天,我意识到发布错误实际上是由目录权限引起的。构建错误与它无关。这是我从地狱的那一天学到的东西:

  1. 这是Visual Studio 2008网站项目中的一个错误,该错误已经不时报告,但显然没有修复(截至2011年1月)。当两个或多个程序集项目具有依赖项,一个到另一个,然后两个都作为项目引用添加到网站时,就会发生这种情况。
  2. 除了这是一个错误之外,将问题归类为错误是不正确的。在我看来,这是一个警告级问题。最好的证据是它似乎不会影响构建,我能够成功部署而不修复它。
  3. 我坚信应该追踪,理解和消除所有错误和编译器警告。这是证明规则的例外。如果您能找到解决方法,请务必使用它并忘记错误消息!
  4. 最后但同样重要的是,这是"Web Site" project type in Visual Studio should be avoided at all cost
  5. 的另一个原因

答案 1 :(得分:1)

您是否正在使用一些非托管,特定于平台的代码?当我在x64机器上开发并且我的代码依赖于x86库时,我会遇到很多错误。我知道根据x64机器上的x86代码运行网站的唯一方法是使用IIS并禁用应用程序池上的x64支持,这将强制使用.NET x86环境,并且您的依赖项运行正常。

即使不是这种情况,尝试在您的计算机上安装IIS并附加到他的进程,而不是使用内置的Web服务器。这应该可以消除大多数调试问题。

答案 2 :(得分:0)

重建操作“成功”并且同时显示错误听起来像是一个真正的问题。这些应该是相互排斥的结果。

解决问题的简短答案是您需要解决错误。基于调试器UI,构建实际上并不成功(无论报告的是什么)。您必须解决此问题才能调试新代码。

你能详细说明一下这个场景吗?

  • 解决方案中是否有多个项目?
  • 他们都成功建造了吗?
  • 对于错误,他们引用了哪个项目,您可以在此处向我们提供任何其他信息。