【问题标题】:Visual Studio: Custom name for "App.config" in project, not outside project?Visual Studio:项目中“App.config”的自定义名称,而不是项目外部?
【发布时间】:2015-10-22 10:59:07
【问题描述】:

正如标题所示,我想将项目内的“App.config”重命名为默认名称以外的其他名称。 我知道在您构建解决方案后它会重命名为项目名称,但它让我感到困扰,在我构建之前我无法在项目中给它一个不同的名称......

示例: 我的解决方案名称是“Test123”,我希望在构建项目之前将配置文件命名为“Test123.config”。我不在乎它后来有什么名字。

好的。我已经重做了所有事情,并且我的项目中有具有以下结构的 app.config 文件:

<?xml version="1.0" encoding="utf-8" ?>
    <configuration>
        <configSections>
            <sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
                <section name="Codex.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
            </sectionGroup>
        </configSections>
<userSettings>
    <Codex.Properties.Settings>
        <setting name="Location" serializeAs="String">
            <value>0, 0</value>
        </setting>
    </Codex.Properties.Settings>
</userSettings>

在项目中将其重命名为“Codex.config”并调试应用程序后,在运行时出现此错误(当我尝试从“X”按钮关闭应用程序时(在执行“Properties. Settings.Default.Save();"):

A first chance exception of type 'System.Configuration.ConfigurationErrorsException' occurred in System.Configuration.dll

【问题讨论】:

  • 这很奇怪。我已经重命名了它,现在它可以工作了,但我不明白为什么。在我问这个问题之前,在我尝试了一切之后,它给了我一个“每当我启动/关闭应用程序时第一次机会异常,它会冻结;但它不是很好用......我不明白为什么...... .
  • 现在一切都很好,除了配置文件在我关闭应用程序后没有保存任何内容,即使我在关闭应用程序时将应用程序最后一个已知位置保存在屏幕上。以前它曾经有一个很好的 XML 样式数据,但现在它即使在调试后也是空的,当它应该包含一些东西时。
  • 我已经重做了一切,并且该项目生成了一个新的 app.config 文件,其中包含信息,但现在,将其重命名为“Codex.config”后它不起作用并抛出第一次机会异常,应用程序无法从“X”按钮关闭。

标签: c# xml visual-studio configuration


【解决方案1】:

您可以编辑预构建事件,以便 VS 复制文件并重命名它

xcopy "$(ProjectDir)YourCustomNameInTheProject.config" "$(TargetDir)$(AssemblyName).exe.config*"

【讨论】:

  • 您是否阅读了我在帖子中写的所有内容?我指的是项目中的名称,而不是构建后的名称。
  • 是的,但如果文件在项目中有不同的名称,它会使 VS 复制文件。如果不调用App.config,VS不会复制该文件
  • 我已经按照你说的做了,不是它不再抛出任何错误,而是它仍然没有将 Codex.config 文件中的默认 0,0 更改为最后一个已知的(关闭应用程序时保存的值)。
  • 修改了 Codex.config 文件中 Location 的默认 0,0 值,现在出现大量错误,例如:“找不到元素 'userSettings' 的架构信息。”
猜你喜欢
  • 2011-03-01
  • 2018-07-07
  • 2015-08-05
  • 2013-07-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-03
相关资源
最近更新 更多