我遇到了两个不同的编译错误,但我们的解决方案中的几个项目重复了这些错误。该解决方案已从VS 2010升级到VS 2012.在本地,解决方案构建良好,运行无错误。
“类型(xxx)是在未引用的程序集中定义的。您必须添加对程序集'Blah,blah,blah ...,...'的引用”
“捕获或抛出的类型必须从System.Exception派生”
第二组错误似乎无关紧要,因为try catch块“ex”是问题,但在整个解决方案/项目中并不一致。它可能是由第一个错误导致的级联问题。
由于
答案 0 :(得分:0)
对于有问题的引用,请检查以确保引用csproj(项目引用),而不是构建服务器上可能存在或不存在的二进制文件。我之前看到过人们以某种方式在bin \ Debug文件夹中获取对.dll的引用,当你尝试在另一台机器上构建它时,bin \ Debug不存在但它当然会失败。< / p>
注意:可能有更好的方法,但是当我想检查我的引用时,我右键单击解决方案资源管理器中的项目并卸载它,然后右键单击并编辑它并直接检查XML。
答案 1 :(得分:0)
对于“捕获或抛出的类型必须从System.Exception派生”,看起来您编写了一个用户定义的异常,该异常不继承System.Exception。您可以参考以下链接获取可能的解决方案
http://www.codeproject.com/Questions/457402/The-type-caught-or-thrown-must-be-derived-from-Sys