使用命名空间系统;在 Visual Studio 2013 年
using namespace System; in Visual Studio 2013
我正在尝试使用 Console::SetCursorPosition(int, int) method. When I add the line using namespace System;
, as shown in the C++ example from the preceding MSDN documentation, I get the error "Error: name must be a namespace name"
. I have been trying stuff for a couple hours now, but frustratingly without success. I have come across a ton of documentation for Visual Studio 2010 and 2012, but very little for 2013. The closest I have come is Lib Files as Linker Input。步骤 1-3 很简单,但我不清楚步骤 4:"Modify the Additional Dependencies property."。查看已经存在的内容,似乎我可以添加一个 .lib 文件。但是我没有 System.lib.
好沮丧,好困惑。
如何在 Visual Studio 2013 Update 4 for C++ 中使用系统命名空间?
为了形式化和扩展我的评论,Console
class and generally the System
namespace 是 .NET 框架的一部分。
在这种情况下,"C++" 选项卡包含在 Console::SetCursorPosition(int, int) method actually refers to the C++/CLI language. The C++/CLI language is distinct (although intentionally similar) from the C++ language 的 MSDN 文档页面中。相应地,C++/CLI 语言包含各种构造,这些构造在编译 Win32 项目时使用的 C++ 编译器工具集无法识别。
换句话说,要消除 "Error: name must be a namespace name"
错误,您需要将 Win32 C++ 项目转换为 CLR 项目。最简单的方法是创建一个新项目,选择 "Visual C++" / "CLR":
下的模板之一
CLR 项目的 Win32 项目的 .lib 文件依赖性(相对于您的 Lib Files as Linker Input link)的等效项将是程序集引用。然后,您通常会在 "Common Properties , References" 项目属性下添加带有 "Add References" 的程序集引用:
但是,在您的特定情况下,您很可能会发现 System
程序集引用已作为 CLR 项目模板的一部分包含在内。
您可能需要查看 MSDN 上的 How to: Add or Remove References 以了解更多详细信息。
最后,如果您绝对想手动转换现有的 Win32 项目,则需要将 "General" 和 "C/C++ , General" 选项卡下的 "Common Language Runtime Support" 项目属性设置为 [ =14=、/clr:pure
、/clr:safe
或 /clr:oldSyntax
(取决于您的具体应用要求;如果您只是玩玩,您可能希望从 /clr
开始)所有配置和平台,并通过直接编辑 .vcxproj 指定目标 .Net 框架版本(如 this answer 中所示)。您还需要像上面的新项目方法一样添加程序集依赖项。
您有一个 Win32 Console Application
的项目,并且您正在使用 .NET
命名空间。在 Win32 控制台应用程序中,标准库中只有 4-5 个命名空间,包括 std
。在顶部尝试 using namespace std;
。
您必须在配置属性 - 常规中设置 Common Language Runtime Support (/clr)
:
并在配置属性中 - C/C++ - 常规:
我正在尝试使用 Console::SetCursorPosition(int, int) method. When I add the line using namespace System;
, as shown in the C++ example from the preceding MSDN documentation, I get the error "Error: name must be a namespace name"
. I have been trying stuff for a couple hours now, but frustratingly without success. I have come across a ton of documentation for Visual Studio 2010 and 2012, but very little for 2013. The closest I have come is Lib Files as Linker Input。步骤 1-3 很简单,但我不清楚步骤 4:"Modify the Additional Dependencies property."。查看已经存在的内容,似乎我可以添加一个 .lib 文件。但是我没有 System.lib.
好沮丧,好困惑。
如何在 Visual Studio 2013 Update 4 for C++ 中使用系统命名空间?
为了形式化和扩展我的评论,Console
class and generally the System
namespace 是 .NET 框架的一部分。
在这种情况下,"C++" 选项卡包含在 Console::SetCursorPosition(int, int) method actually refers to the C++/CLI language. The C++/CLI language is distinct (although intentionally similar) from the C++ language 的 MSDN 文档页面中。相应地,C++/CLI 语言包含各种构造,这些构造在编译 Win32 项目时使用的 C++ 编译器工具集无法识别。
换句话说,要消除 "Error: name must be a namespace name"
错误,您需要将 Win32 C++ 项目转换为 CLR 项目。最简单的方法是创建一个新项目,选择 "Visual C++" / "CLR":
CLR 项目的 Win32 项目的 .lib 文件依赖性(相对于您的 Lib Files as Linker Input link)的等效项将是程序集引用。然后,您通常会在 "Common Properties , References" 项目属性下添加带有 "Add References" 的程序集引用:
但是,在您的特定情况下,您很可能会发现 System
程序集引用已作为 CLR 项目模板的一部分包含在内。
您可能需要查看 MSDN 上的 How to: Add or Remove References 以了解更多详细信息。
最后,如果您绝对想手动转换现有的 Win32 项目,则需要将 "General" 和 "C/C++ , General" 选项卡下的 "Common Language Runtime Support" 项目属性设置为 [ =14=、/clr:pure
、/clr:safe
或 /clr:oldSyntax
(取决于您的具体应用要求;如果您只是玩玩,您可能希望从 /clr
开始)所有配置和平台,并通过直接编辑 .vcxproj 指定目标 .Net 框架版本(如 this answer 中所示)。您还需要像上面的新项目方法一样添加程序集依赖项。
您有一个 Win32 Console Application
的项目,并且您正在使用 .NET
命名空间。在 Win32 控制台应用程序中,标准库中只有 4-5 个命名空间,包括 std
。在顶部尝试 using namespace std;
。
您必须在配置属性 - 常规中设置 Common Language Runtime Support (/clr)
:
并在配置属性中 - C/C++ - 常规: