c# - 如何在VS2013中调试 "Object reference not set to an instance of an object"?

标签 c# asp.net visual-studio azure

我有一个 c# Azure 项目,它只是一个 Web api,并且想要删除一些非 API 默认组件(欢迎页面、帮助等)。执行此操作后,启动应用程序时,我收到一条错误消息“对象引用未设置到对象的实例”。我以前在 Azure 中做事时就遇到过这种情况,并且每次都以某种方式绕过它们。我的问题实际上是:我如何自己调试这个错误?不幸的是,这个错误描述缺乏细节(没有调用堆栈或任何东西,就好像应用程序尚未启动,并且对话框是模态的,所以我无法单击 VS 中的任何内容)

补充说明:

  • 这是一个 ASP .NET 项目。
  • 一旦我发布到 Azure,它就会起作用。
  • 完全复制项目并重建后,它似乎可以工作。然后,当处理 NuGet 依赖项时,我们又发现它不起作用(我尝试删除我的包文件夹并重新创建 NuGet - 没有运气;不知道是否与 NuGet 相关)
  • 我重新复制了该项目,因此只需使用相同版本的 VS 重新打开“MySolutionFolder”->“MySolutionFolder - 复制”即可正常运行。显然,这是一个令人惊讶的草率解决方案,因此寻找更好的解决方案。

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

最佳答案

不幸的是,我从未发现一种以更通用的方式调试此类问题的方法。我最终解决了这个问题,然后又看到它再次出现;按照其他人在另一个论坛上尝试过的建议,我删除了我的包文件夹,并让 NuGet 重新创建了它,无论出于何种原因,这都纠正了问题。

还有一次,来自 this question 的解决方案工作(删除并重新添加所有角色);有时这似乎需要重新安装 Azure SDK 并重新启动计算机。

编辑

最后,我能找到的最佳解决方案是 here :删除SUO文件并重新启动VS。

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

关于c# - 如何在VS2013中调试 "Object reference not set to an instance of an object"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21773593/

相关文章:

c# - 如何在 MVC C# 中从另一个 Action 方法(都在同一个 Controller 中)调用一个 Action 方法?

c# - 我们可以动态引用元素吗(服务器端)

asp.net - 如何在asp.net中解析 "a control with id X could not be located or a different control is assigned to the same ID after post back"?

node.js - Visual Studio Team Services Azure 部署(无法对指定目录执行操作 ("Delete File")

c# - 数据网格 : Have a stable/fixed row for a "group" of items

c# - 如何在 Cudafy GPU 内核中声明固定大小的数组

C# 在 ftping 之前重命名文件

asp.net - N 层环境中的 Elmah

c# - 什么是 nHibernate CollectionProxy

c# - 格式化自定义工具的输出,以便我可以双击 Visual Studio 中的错误并打开文件