在 Visual Studio 2017 中添加 ATL 简单对象
Posted
技术标签:
【中文标题】在 Visual Studio 2017 中添加 ATL 简单对象【英文标题】:Add ATL Simple Object in Visual Studio 2017 【发布时间】:2018-03-13 07:56:31 【问题描述】:我正在使用 Visual Studio 2017 中的旧 ATL/COM 项目。
在以前版本的 Visual Studio 中,您可以选择“添加类”,然后选择“添加简单 ATL 对象”选项以将 COM 类添加到项目中。 Visual Studio 2017 中似乎完全缺少此选项。
选项被移动了吗?
我错过了安装选项吗?
Visual Studio 是否无法将我的项目识别为 ATL 项目? (它是用更旧的版本创建的。)
或者这是 ATL 之路的尽头?
【问题讨论】:
在我的 VS2017 版本中仍然可用。 您是否首先将 ATL 支持添加到您的项目中? 【参考方案1】:我不确定这是否是一个答案,但对于评论来说太多了,而不仅仅是对问题的编辑。
我已经在两个系统上测试过
Visual Studio 社区 2017,版本 15.1 Visual Studio Professional 2017,版本 15.3.2我相信这两个版本之间的功能已经改变。我认为社区版和专业版之间不太可能有区别。
在这两种情况下,我都创建了一个新的 ATL 项目并尝试了三种添加类的方法:
-
从类视图的上下文菜单中添加类...
从 Solution Explorer 的上下文菜单中添加 class...
从 Solution Explorer 的上下文菜单中添加 New Item...
在 15.1 版中,添加类会打开以下对话框,我可以从中添加 ATL 简单对象。
在 15.3.2 版中,添加类会打开以下对话框,其中没有任何 ATL 简单对象选项。
但是,在 15.3.2 版中,添加新项目会打开以下对话框,其中包含一个用于创建 ATL 简单对象的新选项,该选项以前在此对话框中不可用。
所以,功能似乎已被移动。奇怪的是,它在类视图中不再可用(我认为这是一个错误)。
【讨论】:
【参考方案2】:此问题是由 Visual Studio 2017 版本 15.3 中项目模板和代码向导的更改引起的。 15.2或更早版本与15.3或更高版本的操作过程发生了变化。 解释此更改的博客文章如下。Changes to Project Templates and Code Wizards in 15.3
虽然它在发行说明中被描述为一个项目,但关注的人很少,具体情况如何也不得而知。Visual Studio 2017 version 15.3 Release Notes C++ 语言服务 项目和代码向导 •我们以签名对话风格重写了几个项目和代码向导。 •添加类直接启动添加类向导。之前在此处的所有其他项目都可以在“添加 > 新项目”下找到。 •Win32 项目位于“新建项目”对话框中的 Windows 桌面类别下。 • Windows 控制台和桌面应用程序模板现在可以在不显示向导的情况下创建项目。在同一类别下有一个新的 Windows 桌面向导,显示与以前相同的选项。
【讨论】:
感谢您的解释【参考方案3】:我对 Visual Studio 2015 版本 15.9.2 的体验是,当我添加 ATL 项目时,我必须取消选中 Security Development Lifecycle (SDL) checks
,否则当我添加简单 ATL 对象时,我会收到一个消息框,并显示错误“没有找到 .项目中的 idl 文件我的项目的名称”。
【讨论】:
以上是关于在 Visual Studio 2017 中添加 ATL 简单对象的主要内容,如果未能解决你的问题,请参考以下文章
无法在 Visual Studio 2017 RC 中添加全局 JavaScript Intellisense 引用