VCCodeModel 不在 VCCodeModel 命名空间中?
我正在 C# 和 C++ CLR 中使用 VCCodeModel,但在将 VCCodeModel 类型添加到 CLR 项目中时遇到问题。 我已添加 Microsoft.VisualStudio.VCCodemodel 作为参考,但当我键入:
Microsoft::VisualStudio::VCCodeModel::VCCodeModel
Visual Studio 无法看到代码模型。 命名空间中的所有其他对象(例如 VCCodeFunction 和 VCFileCodeModel)都可以工作,但这个对象失败了。
是否存在可能导致此问题的错误? 我使用默认的加载项项目,以 C++ CLR 作为所选语言,并添加了 Microsoft.VisualStudio.VCCodeModel 作为参考,并且可以成功引用空间中的其他成员。 这里可能出现什么问题?
I am working with VCCodeModel in both C# and C++ CLR and I am having trouble getting the VCCodeModel type in to the CLR project. I have added Microsoft.VisualStudio.VCCodemodel as a reference, but when I type:
Microsoft::VisualStudio::VCCodeModel::VCCodeModel
Visual Studio cannot see the code model. All the other objects in the namespace like VCCodeFunction and VCFileCodeModel all work, but this one fails.
Is there some error that could cause this? I am using the default add-in project with C++ CLR as the chosen language and have added Microsoft.VisualStudio.VCCodeModel as a reference, and can successfully reference the other members in the space. What could the issue be here?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您在使用 IDE 的 C++ Intellisense 时遇到了错误/怪癖。 即使您完全限定类名,如果类名与命名空间名称相同,它也不会显示在智能感知中。 IDE 也不会将其识别为类 - 类名称的颜色保持黑色,而不是像其他类那样的浅蓝色。
幸运的是,这纯粹是 IDE 的表面问题。 该类仍然可以在您的代码中正常工作,仍然可以编译等。您只需自己键入该类的名称即可。 :-)
此外,问题仅涉及类名,而不涉及类的成员。 如果您在代码中创建对 VCCodeModel 的托管引用,您将能够看到其成员的智能感知。
这是一个重现,说明了普通非托管类中的智能感知问题:
You're running into a bug/quirk with the IDE's Intellisense for C++. Even if you fully-qualify a class name, if the class name is the same as the namespace name, it will not show up in intellisense. Nor will the IDE recognize it as a class-- the color of the class name stays black, not light blue like other classes.
Luckily, this is a purely cosmetic IDE problem. The class will still work fine in your code, will still compile, etc. You just have to type the name of the class yourself. :-)
Furthermore, the problem only extends to the class name, not the class's members. If you create a managed reference to VCCodeModel in your code, you'll be able to see intellisense for its members.
Here's a repro illustrating the intellisense issue in a plain unmanaged class :