use*_*333 5 dll visual-studio-2010 visual-studio visual-c++ visual-studio-2012
我正在 Visual Studio 2015 中使用 C++ 创建 DLL。我按照这些说明开始了我的项目。
我需要添加对我的项目的引用,以便可以使用 API,并且与 C# DLL 项目(例如)不同,当单击“项目”>“添加引用”时,我无法访问“浏览”选项卡。
根据此页面,这是因为:
“添加引用”对话框顶部可用的选项卡数量可能会有所不同,具体取决于打开的项目类型及其正在使用的资源。C++ 本机项目仅包含“项目”选项卡。
为什么会有这个限制?有什么办法可以绕过它吗?
编辑:我刚刚在这里找到了一个解决方案,但我是 Visual Studio 的新手,我不确定如何设置“CLR 选项”,然后在添加我的引用后将其删除。如果有人能解释如何做到这一点,我将非常感激!
小智 11
我来晚了一点,但我最近遇到了类似的问题,并且有一个修复程序,可能会在未来帮助OP或其他人。
问题概述:在 Visual Studio [2]
中
打开 Visual C++ 项目[1]。在顶部工具栏中,单击“项目>添加引用... ”。在弹出的窗口中,没有“浏览”按钮/选项(参见图片“无浏览选项”)。
解决方案:
在顶部工具栏中,单击“项目>属性” [3]。在弹出窗口的左侧导航面板中,单击“配置属性 > 常规”(默认情况下可能会选择此选项)。在右侧面板中,单击“项目默认值 > 公共语言运行时支持”。该字段值应为“ No Common Language Runtime Support ”(参见图像No /clr)。使用“公共语言运行时支持”字段(灰色向下箭头框)中的下拉菜单,选择“命令语言运行时支持 (/clr) ”。应用更改。属性页现在应该如下所示。单击“确定”关闭属性页。现在,当您添加引用时,显示的窗口将有一个“浏览...”按钮,如下所示。如果您想随后删除 CLR 支持[4],请选择“无公共语言运行时支持”选项并应用更改。
笔记:
[1] 您可能知道,在 VS 中创建新项目时可以从各种项目类型中进行选择。我尝试了 Visual C++ 模板下包含的大多数 Visual C++ 项目类型。由于问题(添加引用时缺少“浏览”选项)似乎与 CLR 支持有关,因此您将在所有未创建为 Visual C++ CLR 项目的 Visual C++ 项目类型中遇到此问题。因此,如果您想从一开始就避免这个问题,请考虑从一开始就创建一个 CLR 项目。
[2] 我能够在 Visual Studio 2015、2017 和 2019 中复制该问题;相同的解决方案适用于所有版本。
[3] 在更改任何配置属性之前,请使用属性页左上角的配置下拉列表选择要更改属性的配置,例如调试、发布、全部。
[4] 如果您在打开 CLR 支持后添加了引用,那么关闭 CLR 支持是可疑的,正如@Cody Gray 在原始问题的评论中所建议的那样。在做了类似的事情之后,我还没有尝试构建一个项目,所以我无法谈论这里建议的解决方案。我的回答只是告诉你如何改变CLR支持。
对于 C++ 项目,您需要将所有项目放入同一解决方案中,然后当您转到“添加引用”时,您将看到列出的其他项目。然后,您只需选中“添加参考”框即可。请记住,这将导致 DLL 的导入库(或非 DLL 库项目的静态库)链接到您的目标项目。它不会添加您可能需要获取 DLL 的导入标头的任何包含路径。
DirectX 工具包包含为 C++ 项目添加项目到项目引用的说明,您可能会发现阅读这些内容很有用。看这里。
有关 C++ 项目到项目参考的一些一般背景。请参阅这篇Visual C++ 团队博客文章,该文章是在更新 Visual C++ 2010 时发布的。