如何在VS2013中调试"对象引用未设置为对象的实例"?

Rol*_*lie 6 c# asp.net azure visual-studio

我有一个ac#Azure项目,它只是一个web api,并且想要删除一些非API默认组件(欢迎页面,帮助等).执行此操作后,启动应用程序时,出现错误消息"对象引用未设置为对象的实例".我之前在Azure中做过这些事情时已经看到了这一点,并且每次都以某种方式绕过它们.我的问题是:我如何自己调试此错误?这个错误描述非常缺乏细节(没有调用堆栈或任何东西,好像应用程序尚未启动,并且对话框是模态的,因此我无法点击VS中的任何内容)

额外说明:

  • 这是一个ASP .NET项目.
  • 一旦我发布到Azure,它就可以工作了.
  • 在完全复制项目并重建之后,它似乎有效.然后在使用NuGet依赖时,我们回到它不工作(我已经尝试删除我的包文件夹并让NuGet重新创建 - 没有运气;根本不知道是否与NuGet有关)
  • 我重新复制了这个项目,所以只是'MySolutionFolder' - >'MySolutionFolder - Copy',用相同版本的VS重新打开,运行正常.这显然是一个非常草率的解决方案,所以寻找更好的东西.

如评论中所述,该问题可能涉及对各种文件的访问权限,很可能与NuGet相关但也可能是Azure,这解释了为什么复制到新的解决方案目录"修复"了这个问题.我希望看到更好的错误信息,例如"错误:Visual Studio无法写入'packages.config'",所以我知道实际上在哪里解决这类问题.就像现在一样,它就像一个编译错误,上面写着"代码中的语法错误.某处.好运找到它".

Rol*_*lie 10

不幸的是,我从来没有找到一种以更一般的方式调试此类问题的方法.我最终解决了这个问题,然后又看到它再次弹出; 按照别人在另一个论坛上试过的建议,我删除了我的包文件夹,让NuGet重新创建它,无论出于何种原因纠正了这个问题.

另一次,这个问题的解决方案有效(删除并重新添加所有角色); 有时这似乎需要重新安装Azure SDK并重新启动计算机.

编辑

最后,我能找到的最好的解决办法是在这里:删除SUO文件并重新启动VS.

希望这个解决方案能帮助将来遇到类似问题的人!

  • 删除SUO为我做了,谢谢! (2认同)

use*_*528 5

勾选Debug> Exceptions> Common Language Runtime Exceptions> System> NullReferenceException并运行您的应用程序