Visual Studio Designer在VS2012中不适用于C++/CLI文件,而在VS2005中则不起作用。知道为什么吗?
Visual Studio Designer won't work for a C++/CLI file in VS2012 while it did in VS2005. Know why?
我知道,我知道,这个问题已经被讨论过很多次了。只要在其他前向声明之前前向声明你的类就可以了
我重新打开这个问题,因为对我来说它根本不起作用。我有Visual Studio 2012更新1。我在win7/x64的x64上使用c++/CLI进行开发。下面是我的头文件的样子:
#pragma once
namespace MyNameSpace
{
ref class MyForwardDeclaredClass;
public ref class MyClass : public System::Windows::Forms::UserControl
{
public:
// My declaration here
MyForwardDeclaredClass^ mObjectPtr;
}
}
当我启动设计时,我得到消息类MyClass可以设计,但不是文件中的第一个类。Visual Studio要求设计人员使用文件中的第一个类。
因此,根据许多人的建议(这些建议似乎对许多人都有效),我添加了这一行:ref class MyClass; // <-- ADDED FORWARD DECLARATION HERE!
ref class MyForwardDeclaredClass;
public ref class MyClass : public System::Windows::Forms::UserControl
{
// ...
仍然得到相同的错误消息。注意,我也重新启动了Visual Studio, 我清理了项目,并且我重新构建了它。
注意:我试图删除forward声明,并添加一个#include "MyForwardDeclaredClass.h"代替。我得到了相同的错误。
我们最近从VS2005迁移到VS2012。在VS2005中,设计器的使用一般。但大多数时候都是有效的。现在,大多数时候我不能让它工作,我找不到任何解决办法。
任何想法?
编辑
好的,按照我给出的建议,我删除了。so和。sdf文件,然后重新加载解决方案,然后重建它。没有什么好。我使用相同的代码文件重新创建了一个新项目:没什么好东西。是的,我的项目中有。cpp文件;-)
解决方案很简单:我必须重置工具-选项-文本编辑器-C/c++/高级, 浏览/导航部分中的默认选项。
如果有一天您遇到同样的问题,请尝试恢复这些选项的默认值
相关文章:
- 我的神经网络不起作用 [XOR 问题]
- 在C++程序中输入的文本文件将不起作用,除非文本被复制和粘贴
- C++映射:具有自定义类的运算符[]不起作用(总是返回0)
- C++为什么尽管我调用了void函数,它却不起作用
- 为什么在保护模式下继承升级不起作用
- 循环在计数器中不起作用
- 在其他文件中创建类时在 c++ 项目中不起作用
- Visual studio代码重构似乎不起作用(例如,重命名符号-f2)
- 为什么二进制搜索在我的测试中不起作用
- 我的代码中有错误吗?使用BGI图形的C++代码对我不起作用
- 为什么 const std::p air<K,V>& 在 std::map 上基于范围的 for 循环不起作用?
- 带有指定长度字符* 参数的 std::regex_search 在 VS2017 中不起作用?
- Bjarne Stroustrup Book - std_lib_facilities.h - 不起作用(未知类型名称)
- 为什么简单的算术减法在"if"条件下不起作用?
- 为什么Stroustup书中的has_f不起作用
- 你能检查一下为什么在这个代码中从链接列表中删除项目不起作用吗
- 嵌套While循环不起作用(C++问题)
- C++Matching Brackets 2解决方案不起作用
- 为什么这段代码不起作用,我该如何解决?
- Visual Studio Designer在VS2012中不适用于C++/CLI文件,而在VS2005中则不起作用。知道为什么吗?