【问题标题】:Why does my Visual Studio 2010 Silverlight solution completely break on "Clean"?为什么我的 Visual Studio 2010 Silverlight 解决方案在“干净”上完全崩溃?
【发布时间】:2012-08-27 22:15:54
【问题描述】:

在清洁之前,一切都正确构建,并且我能够在一天中进行重大更改/重建。我决定“清洁解决方案”,这立即破坏了一切。找不到任何对命名空间的引用,如下面的错误所示:

The type or namespace name '(insert_name)' could not be found (are you missing a using directive or an assembly reference?

在这个解决方案中,它导致了 631 个错误。似乎没有重建/建筑组合可以解决它。我很难在网上找到很多关于此的信息,所以我想我会在这里发帖看看是否有人有一些想法。

还可能值得注意的是,这个解决方案只是从同事那里复制到我的机器上,所以它可能与此有关吗?虽然,它在清洁之前建造得非常好。想法?

【问题讨论】:

  • 您从同事的机器上复制的文件中可能存在一些依赖项,这些依赖项已通过清理解决方案而被删除。
  • 对,我觉得很奇怪,我能够在一天中进行更改而没有任何中断。我有整个项目文件夹,包含所有 Lib 引用等。可能是文件路径的差异或类似的东西?
  • 可能是;显然我只能推测。我调试此类问题的方法是再次进行完整构建,并查看原始输出日志。找到出现的第一个错误,并修复它。然后重建并重复。通常,您会看到一两个错误导致所有其他错误。
  • 有时我也看到过这样的问题,这是由于程序集(您正在尝试构建的程序集)之间定义不正确的构建依赖关系引起的;虽然这应该只是修复,但有时可以通过多次运行构建来解决。但是,您说“没有重建/构建组合似乎可以解决它”,所以听起来您已经尝试过了。

标签: visual-studio-2010 reference namespaces silverlight-5.0 solution


【解决方案1】:

我看到以下可能性:

  • 您有一些对使用绝对路径的库的引用,该绝对路径在一台机器上有效,而在另一台机器上无效。例如,您使用 Silverlight Toolkit,但两台机器上都没有安装它,或者其中一台计算机是 32 位,另一台是 64 位,您只能在 x64 上获得 Program Files (x86)。

  • 您有一些对使用相对路径的库的引用,该路径在一台机器上有效,而在另一台机器上无效。例如,您有 X:\Work\Project\Project.sln,它使用 ..\..\Tools\Library.dll 引用 X:\Work\Tools\Library.dll,而另一台机器在 X:\Work 中有它\Tools\SomeLib\Library.dll。

在这两种情况下,您都应该看到一个“root”错误,表明找不到库的 DLL。有时,查看输出窗口而不是错误窗口会更容易发现。

【讨论】:

  • 只是为了跟进这个......奇怪的是,我再次复制了同一个项目文件夹,构建并运行良好。然后我没有错误地清理,构建并运行仍然没有错误。当我开始重新应用前几天所做的更改时,我会定期清理以查看解决方案在什么时候中断
  • 也许这次不会坏了:)
  • 回到这个问题......从来没有找到解决方案灾难性中断的确切原因,但无法使用新副本重新创建。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-09-18
  • 1970-01-01
  • 1970-01-01
  • 2011-04-10
  • 1970-01-01
  • 2015-11-05
  • 1970-01-01
相关资源
最近更新 更多