【问题标题】:C++/CLI Settings.settings designer like in C#C++/CLI Settings.settings 设计器,如 C#
【发布时间】:2015-08-17 21:07:12
【问题描述】:

我目前正在用 C++/CLI 编写我的 GUI 程序。 (我知道,不好。自从我第一次考虑切换到 C# 时,我就不确定了。Another Question of mine)。

另一个可能让我信服的问题是,如果有任何东西可以与 C# 中的 Settings-Designer 相比,我可以在 C++/CLI 中使用。我让它与我自己的设置类实现一起工作,但它有点容易出错。那么,我可以在 C++/CLI 中使用任何设计器或功能来简化应用程序和用户设置管理吗?

【问题讨论】:

    标签: c# c++-cli settings application-settings


    【解决方案1】:

    没有。 C++ IDE 中缺少的功能是代码生成器,它可以从设置设计器中自动生成代码。微软从来没有投入精力来创建支持它所需的 VS 插件,像这样的代码生成器只为 VB.NET 和 C# IDE 实现。造成这种情况的原因有很多,有点超出了本 Q+A 的范围。

    您仍然可以使用设置设计器,只需跳过几圈即可。借助 .NET 中对语言互操作的出色支持,您可以简单地将 C# 类库项目添加到您的解决方案中。然后项目 > 属性 > 设置 > 单击创建。在工具栏上,将 Access Modifiers 组合框从 Internal 更改为 Public,以便您的 C++/CLI 代码可以使用它们。像往常一样添加您的设置。

    将项目引用添加到您的 C++/CLI 项目中,您现在可以在代码中使用 ClassLibrary1::Properties,就像在 C# 应用程序中一样。只是一个不同的命名空间。

    还有一个步骤,将棘手的保留到最后,您必须将 app.config 文件从 C# 项目复制到 C++/CLI 的构建目录。在构建后事件中使用 xcopy 来执行此操作,最终名称必须是 yourcppapp.exe.config。如果您必须合并其他 .config 设置,上帝会帮助您,这很难自动化。 Fwiw,最好顺其自然,你现在在 C++ 领域。这应该很难,否则任何人都可以做到 :) 无论如何,设置仅适用于小型单体 LOB 应用程序,而不适用于典型的 C++ 目标。

    【讨论】:

    • 即使在不同的程序集中,您也应该能够使用相同的命名空间。
    • 非常感谢!这里弹出另一个问题:如果我存储应用程序设置。它们会存储在我的 .exe 位置吗?因为如果是的话,如果我不是我的 PC 上的管理员会不会有问题?
    • Hmya,通过 C++/CLI 学习 .NET Framework 肯定不是最有效的方法。练习你的 C# 代码和 IDE,你会不由自主地找到 Scope = Application 与 User 之间的区别。最好听它的声音放慢一点。
    猜你喜欢
    • 2011-01-13
    • 1970-01-01
    • 1970-01-01
    • 2013-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-29
    • 2018-12-11
    相关资源
    最近更新 更多