【问题标题】:.NET 4.5 namespace 'Standard'.NET 4.5 命名空间“标准”
【发布时间】:2023-03-26 11:40:01
【问题描述】:

在 .NET 4.5 的 PresentationFramework 中,有一个名为 Standard 的命名空间。在这里查看更多信息:What is the namespace 'Standard'?

问题在于,在我的 C++/CLI 项目中,我使用了一个非托管库,它还定义了一个名为 Standard 的类。所以我得到以下编译器错误:

error C2869: 'Standard' : has already been defined to be a namespace

我无法删除对PresentationFramework 的引用,也无法停止使用上述库。有什么我可以做的吗?比如取消导入命名空间?

附:我正在使用 VisualStudio 2012。我认为升级到 2013 可能会有所帮助,但这需要整个团队都迁移到它。

【问题讨论】:

  • 您是否正在使用 OCCT?你是如何解决这个问题的?
  • 我们最终确保不在同一个项目中同时使用 PresentationFramework 和 OCCT
  • 啊,我。我也成功地这样做了很长一段时间,但现在达到了一个开销太大的地步。因此,对于任何有同样问题的人,将这个 Standard 类包装在命名空间中不会花费太长时间,也不会产生太多维护开销 - 请参阅 dev.opencascade.org/index.php?q=node/1210

标签: c# .net visual-studio-2012 namespaces c++-cli


【解决方案1】:

我相信该命名空间是由 .NET 4.5 添加到 PresentationFramework 的,我认为更改为 Visual Studio 2013 不会对您有所帮助。该命名空间中的所有内容都被定义为内部的,它主要由与 PresentationFramework 调用的 Windows SDK 函数一起使用的枚举和结构组成。

很遗憾,我不知道该如何解决您的问题。也许您可以说服提供第三方库的人更改他们的 命名空间。微软现在使用它的事实将是他们这样做的一个很好的理由。无论这些人是谁在创建具有简单通用名称(例如“标准”)的命名空间,都需要仔细检查一下。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-25
    • 2011-08-29
    • 1970-01-01
    • 2013-12-04
    • 2013-02-08
    • 1970-01-01
    相关资源
    最近更新 更多