【问题标题】:What causes Visual Studio to fail to load an assembly incorrectly?是什么导致 Visual Studio 无法正确加载程序集?
【发布时间】:2010-09-06 22:18:07
【问题描述】:

我一直在愉快地编写一个体面的解决方案(超过 13k LOC,5 个项目),它利用 Linq to Sql 进行数据访问。突然间,我执行了一个正常的构建,我收到了一个甜蜜的、甜蜜的模棱两可的消息:​​

错误 1 ​​由于 C:\xxx\xxx.dbml 中的验证错误,构建失败。打开文件并解决错误列表中的问题,然后尝试重建项目。 C:\xxx\xxx.dbml

我已经好几个星期没有接触我的数据访问层了,也没有对 DBML 文件进行任何调整。我尝试了很多鲁莽的技巧,比如重新创建布局文件、制作副本以及在重新启动 Visual Studio 后将现有文件重新添加回项目(以防某些文件级损坏);都无济于事。

我忘记佩戴我的 Visual Studio Skills +5 护身符,所以我开始四处寻找,我发现唯一有意义的答案是重置我的包,因为 Visual Studio 没有正确加载程序集。在运行“devenv.exe /resetskippkgs”之后,事实上,我能够将 dbml 文件添加回 DAL 项目并重建解决方案。

我很高兴它已修复,但我也希望从这次经历中获得更深入的了解。 有人知道在 Visual Studio 2008 中发生这种情况的原因或原因吗?

新编辑:2008 年 10 月 30 日 这不是刚刚发生在我身上的事情。 Rich Strahl 最近在他的“网络日志”about the same experience 上写道。他链接到另一个blog with the same issue and used the same action

自从这篇原始帖子以来,我也遇到过几次这个问题,让我觉得这不是随机问题。如果有人找到明确的答案,请发布。

【问题讨论】:

    标签: visual-studio visual-studio-2008 linq-to-sql


    【解决方案1】:

    TBH,我遇到过几次这样的情况,文件“似乎发疯了”。但是,经过调查,文件似乎以某种方式、形状或形式发生了变化。(例如,有时更改可能无意中更改了某个似乎无关的属性)。

    我认为真正导致这种情况的可能问题太多了,基于问题已经解决的事实,似乎找不到答案..

    【讨论】:

    • 感谢您的回复。除了快速谷歌使用抛出的错误消息的各个部分之外,一个非常有效的观点是所有人都遇到了我遇到的问题并且都在使用 LinqToSQL。这往往让我认为这不仅仅是一个奇怪的孤立问题。此外,如果 VS 确实有问题,它可能不会出现在 MSDN 上(尽管 Microsoft 并不倾向于像 Apple 那样删除线程)。如果短时间内没有收到回复,我会关闭它。
    【解决方案2】:

    在为 Visual Studio 2008 安装 Phalanger 之后,我尝试创建一个新的 PHP WinForms 应用程序。项目创建失败并出现类似的错误消息,指出无法加载所需的 DLL(加载文件或程序集失败...)。在 Visual Studio 2008 命令提示符中运行 devenv.exe /resetskippkgs 命令立即解决了该问题。

    感谢您的信息。

    【讨论】:

    • 是的。我最近在网上看到了这种情况。问题是我还没有听到“为什么”或“如何”这在 .dbml 文件中实际发生的具体原因。可能是因为微软将来不会支持我们所知道的 LinqToSql。
    【解决方案3】:

    尝试在第二种解决方案(安装程序)中编译数据访问层时,我也遇到此错误。我要做的是在 dbml 文件上运行自定义工具,然后就可以了。

    dbml 文件中确实没有需要更正的错误。

    我的理论是Visual Studio缓存dbml文件的编译版本,并且缓存对于其他解决方案无效。我想运行 /resetskippkgs 与重新编译 dbml 文件的作用相同。

    无论如何,还没有解决此问题的方法吗?

    【讨论】:

    • 我还没有在 VS 2010 中实现它,所以它的固定和向后支持可能不会发生。
    【解决方案4】:

    我在 VS 2010 中遇到了同样的问题(由于 dbml 文件中的验证错误,构建失败)。我通过查看 dbml 文件的设计器视图并将表格稍微拖动到不同的位置来解决此问题,以便刷新 dbml 布局等文件。这似乎可以解决问题,但有点奇怪。

    【讨论】:

      猜你喜欢
      • 2018-03-23
      • 2017-06-24
      • 1970-01-01
      • 2017-11-16
      • 1970-01-01
      • 2017-02-11
      • 2013-05-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多