我在Visual Studio 2015中使用C ++创建DLL。我按照these instructions开始了我的项目。
我需要添加对项目的引用,以便我可以使用API,与C#DLL项目(例如)不同,单击Project&gt时我无法访问Browse选项卡。添加参考。
根据this page,这是因为:
“添加引用”对话框顶部可用的选项卡数 框可以根据项目打开的类型和资源而变化 它正在使用。 C ++本机项目仅包含“项目”选项卡。
为什么会有这种限制,有没有办法解决它?
编辑:我刚刚找到了解决方案here,但我是Visual Studio的新手,我不知道如何设置'CLR选项'然后删除添加我的参考。如果有人能解释如何做到这一点,我将非常感激!
答案 0 :(得分:2)
对于C ++项目,您需要将所有项目都放到同一个解决方案中,然后当您转到“添加引用”时,您将看到列出的其他项目。然后,您只需选中相应框即可添加引用'。请记住,这将导致DLL的导入库(或非DLL库项目的静态库)链接到目标项目。它不会添加您可能需要的任何包含路径来获取DLL的导入标头。
DirectX Tool Kit有关于为C ++项目添加项目到项目引用的说明,您可能会发现这些引用对于阅读是有用的。请参阅here。
关于C ++项目到项目引用的一些一般背景知识。请参阅为Visual C ++ 2010更新时发布的Visual C++ Team blog post。
答案 1 :(得分:0)
我参加聚会有点晚了,但是我最近遇到了类似的问题,并且有一个修复程序可以在将来帮助OP或其他人。
问题概述:
在Visual Studio [2] 中打开Visual C ++项目 [1] 。在顶部工具栏中,单击“ 项目>添加引用... ”。在弹出的窗口中没有“ 浏览”按钮/选项(请参见图片No Browse option)。
解决方案:
在顶部工具栏中,单击“ 项目>属性” [3] 。在弹出的窗口的左侧导航面板中,单击“ 配置属性>常规”(默认情况下可能会选中)。在右侧面板中,单击“ 项目默认值>公共语言运行时支持”。字段值应为“ 无公共语言运行时支持”(请参见图片No /clr)。使用“公共语言运行时支持”字段中的下拉菜单(灰色的向下箭头框),选择“ 命令语言运行时支持(/ clr)”。应用更改。现在,属性页应该看起来像this。单击“确定”关闭属性页。现在,当您添加参考时,显示的窗口将具有“浏览...”按钮,外观类似于this。如果要随后删除CLR支持 [4] ,请选择“ 无公共语言运行时支持”选项并应用更改。
注释:
[1]您可能已经知道,在VS中创建新项目时,可以从各种项目类型中进行选择。我尝试了Visual C ++模板下包含的大多数Visual C ++项目类型。由于该问题(添加引用时缺少“浏览”选项)似乎与CLR支持有关,因此在所有未创建为Visual C ++ CLR项目的Visual C ++项目类型中,都会遇到此问题。因此,如果您想一开始就避免问题,请考虑从头开始创建CLR项目。
[2]我能够在Visual Studio 2015、2017和2019中复制该问题;相同的解决方案适用于所有版本。
[3]更改任何配置属性之前,请使用属性页左上角的“配置”下拉列表选择要更改其属性的配置,例如全部调试,发布。
[4]如果您在打开CLR支持后添加了参考,那么按照@Cody Gray在原始问题注释中的建议,关闭CLR支持是可疑的。执行完类似的操作后,我还没有尝试构建项目,所以我无法与建议的here解决方案进行交流。我的回答只是告诉您如何更改CLR支持。