无法访问已处置的对象 VC++ VS2017 Professional

Posted

技术标签:

【中文标题】无法访问已处置的对象 VC++ VS2017 Professional【英文标题】:Cannot access a disposed object VC++ VS2017 Professional 【发布时间】:2018-06-12 15:28:37 【问题描述】:

我正在尝试打开一个项目(从 tfs 本地映射)。该项目使用 Visual C++。

我已经尝试了很多论坛,但仍然没有成功。我收到以下错误。

我使用的是 Visual Studio Professional 2017。我尝试修改和添加所有 vc++ 项目组件。我安装了所有必要的 vc++ 组件,但仍然出现此错误。

其他 c# 项目运行良好。 (意思是:VS 没有损坏,它工作正常!)我根本无法打开 .vcproj。 我应该安装 Visual Studio 2012 吗? (我的一位同事正在使用 2012,它的作用就像魅力一样!)

【问题讨论】:

其他 c# 项目运行良好,您没有打开 C# 项目,您是否安装了 VC++ 的组件而不仅仅是 C#? 是的。我已经为 vc++ 安装了所有组件 说其他 c# 项目工作得很好,我的意思是说我的 VS 没有损坏。 @JSteward 【参考方案1】:

我希望这可以帮助某人。我按照以下步骤解决了这个问题:

    安装了 Visual Studio 2010,它具有所有支持 VC++ 的 SDK 项目 现在我可以在 VS2017 中打开 .vcproj,因为它具有所有可用的 SDK(来自 2010 安装),它将要求您更新项目版本。随意选择最新版本。 不过,我在 MFC/ATL 中收到 "Missing afxwin.h" 错误 支持组件(Source)。我使用提供的链接安装 在源代码中。

    还没有成功。 MFC 的 Geeting 错误不支持小于 0x0501 的 WINVER。请在您的项目属性或预编译头文件中更改 WINVER 的定义。通过更改 StdAfx.h

    中的 WINVAR 解决

    #define WINVER 0x0501

    注意 0x501 是 Windows XP 支持。 0x600 是 Vista,0x601 是 Windows 7

    您可以更改配置。请参考this link

    编译成功!

【讨论】:

以上是关于无法访问已处置的对象 VC++ VS2017 Professional的主要内容,如果未能解决你的问题,请参考以下文章

无法访问已处置的对象 - 如何修复?

System.ObjectDisposedException:'无法访问已处置的对象。对象名称:'OracleConnection'。'

无法访问已处置的对象。对象名称:'System.Net.Sockets.UdpClient'

引发线程事件时无法访问已处置的对象

无法在单元测试中访问已处置的对象

使用异步存储库模式 - 无法访问已处置的对象