我很乐意编写一个体面的解决方案(仅超过13k LOC,5个项目),它利用Linq到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。
自从这篇原帖以来,我几次遇到过这个问题,让我觉得这不是一个随机的问题。如果有人发现确定答案,请发帖。
答案 0 :(得分:1)
在安装Phalanger for Visual Studio 2008之后,我尝试创建一个新的PHP WinForms应用程序。项目创建失败,出现类似的错误消息,指出无法加载所需的DLL(无法加载文件或程序集......)。在Visual Studio 2008 Command Promtp中运行devenv.exe / resetskippkgs命令立即解决了该问题。
感谢您的信息。
答案 1 :(得分:1)
在第二个解决方案(安装程序)中尝试编译数据访问层时,我也遇到此错误。我所做的是我在dbml文件上运行自定义工具,这样做。
dbml文件中确实没有需要纠正的错误。
我的理论是Visual Studio缓存dbml文件的编译版本,并且缓存对其他解决方案无效。我想运行/ resetskippkgs与重新编译dbml文件的作用相同。
无论如何,还没有解决这个问题吗?
答案 2 :(得分:0)
我认为有太多可能导致这种情况的问题,并且基于问题已经解决的事实,似乎找不到答案..
答案 3 :(得分:0)
我在VS 2010中遇到了同样的问题(由于dbml文件中的验证错误,构建失败)。我通过查看dbml文件的设计器视图并将表稍微拖动到其他位置来解决此问题,以便刷新dbml布局等文件。这似乎可以解决问题,但这有点奇怪。