【问题标题】:Settings file of a console app is not being created未创建控制台应用程序的设置文件
【发布时间】:2010-11-04 12:12:17
【问题描述】:

我有一个包含 3 个项目的解决方案。一个是控制台应用程序,另外两个是 Windows 应用程序。两个 Windows 应用程序都使用控制台应用程序,因此我在两个 Windows 应用程序项目中添加了控制台应用程序的引用。现在,当我构建 Windows 项目时,控制台应用程序被复制到输出目录中,但问题是它的配置文件“consoleapp.exe.config”没有被复制!

如果我使用库(程序集)而不是控制台应用程序,它会在输出文件夹中创建该程序集的配置文件。

如何解决这个问题?

【问题讨论】:

    标签: c# .net settings config


    【解决方案1】:

    您的应用程序正在使用引用项目的已编译代码中的默认设置值。

    您应该将您的 app.config 从其他项目复制(或至少复制您希望能够更改的设置)到调用项目,然后当应用程序编译时,您将拥有一个 [YourAppName].exe .config 你可以修改。

    所有这些都是因为 C# 中的应用程序域只能有一个程序集级 app.config 文件。以下是有关MSDN 的更多信息。

    【讨论】:

      【解决方案2】:

      在VS2008中快速创建一个控制台项目并添加一个“App.config”,它有设置:

      构建操作:无
      复制到输出目录:不要复制
      自定义工具:空白>
      自定义工具命名空间:空白>

      但是我不确定添加对控制台项目的引用会有什么影响,因为控制台项目是一个应用程序而不是类库。

      如果您希望控制台应用程序与 Windows 应用程序一起启动以进行调试,那么比项目引用更好的方法是将解决方案设置为启动多个应用程序。右键单击解决方案,选择属性,然后在 Start Project 节点上选择多个项目。 (并删除对控制台应用程序的引用。)

      【讨论】:

        【解决方案3】:

        试试这个:

        1. 在解决方案树中选择 consoleapp.exe.config。

        2. 在属性网格中为 Build Action 选项选择“Content”。

        3. 复制到输出目录选项选择始终复制

        希望对你有帮助:)

        【讨论】:

        • 解决方案树中没有 consoleapp.exe.config 文件。项目包含 app.config 文件,该文件在构建项目时重命名为 consoleapp.exe.config。我用 app.config 尝试了你的步骤,它确实将它复制到输出,但我希望它也重命名为 consoleapp.exe.config。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-09-15
        • 1970-01-01
        • 2012-04-21
        • 2013-05-15
        相关资源
        最近更新 更多