【问题标题】:"Object reference not set ..." error on accessing VS solution properties访问 VS 解决方案属性时出现“未设置对象引用 ...”错误
【发布时间】:2014-03-15 00:30:13
【问题描述】:

当我尝试在 Visual Studio 2012 中访问解决方案属性时,我收到错误“对象引用未设置为对象的实例”。可以通过卸载 Nuget 暂时解决此问题,如下所述:Visual Studio - Error when clicking on Solution -> Properties (Object reference not set to an instance of an object)

如果我卸载 NuGet,它会开始正常工作,但一旦我再次添加 NuGet,同样的问题会立即再次出现。 Nuget 更新到新版本没有帮助。我想知道是否有人知道这个问题的可靠解决方案。

我有 VS 的 Ver.2012.3.41009,除了 NuGet 包我有以下安装包:MS ASP.NET Web 工具、VS 2012 颜色主题编辑器、用于 JavaScript 的 Windows 库的 VS 扩展

更新:关于异常的完整信息(不要太多:内部异常为空,堆栈跟踪由单行组成):

发生 System.NullReferenceException

HResult=-2147467261

Message=对象引用未设置为对象的实例。

Source=Microsoft.VisualStudio.CodeAnalysis.Sdk.UI

堆栈跟踪: 在 Microsoft.VisualStudio.CodeAnalysis.SdkUiUtilities.GetService[S,T]

(IServiceProvider 提供者) 内部异常:

更新 2:我刚刚发现此错误取决于解决方案。在某些解决方案上它会持续存在,而在其他解决方案上则不会

【问题讨论】:

  • 您能否将调试器附加到 VS,通过 repro 并发布异常的堆栈跟踪?这可能是解决此问题的唯一方法
  • 如何将调试器附加到 VS?什么是回购?
  • 打开另一个 VS 实例,工具 -> 附加到进程并选择另一个 VS (devenv.exe)。确保在 NullReferenceException 上禁用 Just My Code 并启用中断。然后右键单击另一个VS,它应该会给你问题的堆栈跟踪
  • 添加了完整的异常信息,这就是我在调试器下从其他 VS 实例获得的全部信息
  • 根据您链接的问题中的第二个答案,您是否检查了 NuGet 包管理器控制台是否有错误?可能是某个特定的包(而不是 NuGet 本身)导致了这个问题。

标签: visual-studio


【解决方案1】:

看起来像是 Visual Studio 的一个已知问题。有关问题的状态,请参阅Microsoft Connect issue。正如其他人所提到的,禁用 NuGet 包管理器似乎是目前唯一已知的解决方法。

【讨论】:

  • 没有 NuGet 包我无法工作,我每天都需要它,不幸的是,这对我来说不是一种解决方法
  • 我发现禁用NuGet后,我必须重新启动VS才能打开属性对话框。
【解决方案2】:

Nuget 是一个扩展,“解决方案中的属性访问”理论上应该与 Nuget 无关。您如何访问灵魂中的属性。你可以发布一些示例代码吗?是通过自动化模型还是VSSDK?

【讨论】:

  • 在解决方案资源管理器窗口中右键单击解决方案并在弹出菜单中选择属性
  • 这真的是答案吗?
  • 我猜不是,我的错,我应该把它移到评论部分!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-01-18
  • 1970-01-01
  • 2017-10-03
  • 1970-01-01
  • 2013-12-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多