如何在C ++ / CLI应用程序中正确设置Root Namespace属性?

时间:2010-05-20 19:36:47

标签: namespaces c++-cli

我在Visual Studio 2008中有一个C ++ / CLI应用程序,其命名空间遵循CompanyName.TechnologyName[.Feature][.Design]的.NET准则。问题是似乎没有办法在项目的Root Namespace属性中设置多级命名空间。我尝试了CompanyName.TechnologyNameCompanyName::TechnologyName

似乎我不能在不是根命名空间的命名空间内部有一个Form控件,因为这会导致找不到它所使用的资源,因此对我来说似乎不可能遵循他们的指南并与我的C#应用​​程序保持一致

有没有办法将此属性设置为使用多级命名空间,还是我被迫使用只是一级的根命名空间?或者有一个我忽略的解决方案吗?

编辑:
Visual Studio 2010中添加了功能以允许多级根命名空间。使用CompanyName.TechnologyName格式NOT CompanyName::TechnologyName。虽然后者适用于/ creation / forms,但如果表单需要资源,那么在编译时,Visual Studio会尝试保存到CompanyName::TechnologyName.resources,这会引发错误。

1 个答案:

答案 0 :(得分:0)

不确定我是否看到了资源问题。没有“根名称空间”的概念。您必须遵循命名空间声明的C ++规则,您必须一次嵌套一个。例如:

namespace Contoso {
  namespace Accounting  {
    namespace PayRoll {
      namespace Employees {

  // class declarations go here

}}}}  // yeah, that sux

在.cpp文件中:

using namespace Contoso::Accounting::PayRoll::Employees;

在我可以找到这样的声明时添加资源没有问题。但是不要添加资源,然后更改命名空间名称。 C ++ IDE没有任何重构支持。 C ++ / CLI中的Windows窗体开发不是很受欢迎,这可能是一个原因。