【问题标题】:Regenerate Settings.settings重新生成 Settings.settings
【发布时间】:2012-12-13 03:39:55
【问题描述】:

我正在重构一个项目,令我懊恼的是,该项目是用 Visual Studio 编写的。我来自 Linux 背景,发现 Visual Studio 是一个令人沮丧的菜单的地下墓穴。

我正在尝试将Settings.settings 文件从一个解决方案移动到另一个解决方案。

Settings.Designer.cs 复制所有文本已产生所需的编译时功能,但我似乎无法使用 gui 更改属性。与我的源项目不同,该 gui 不显示任何属性。我还担心我的更改会在 VS 的一时兴起(当它重新生成此文件时)消失。

如何从现有配置文件中重新生成这些属性?

【问题讨论】:

  • 您能否举例说明您尝试转换的文件中的代码是什么样的......?

标签: c# visual-studio visual-studio-2012


【解决方案1】:

这是一个老问题。现在似乎上述答案都不适用于 VS 2019,但这个问题仍然以某种方式存在。我删除并排除并重新添加,直到我不再记得我做了什么。但最终,它开始起作用了。查看 VS 添加到我的 csproj 文件中的内容,我认为关键是您需要这个:

<Compile Update="Properties\Settings.Designer.cs">
  <DesignTimeSharedInput>True</DesignTimeSharedInput>
  <AutoGen>True</AutoGen>
  <DependentUpon>Settings.settings</DependentUpon>
</Compile>

【讨论】:

    【解决方案2】:

    您可以从其他项目导入设置。 只需从解决方案资源管理器中复制 settings.settings,然后将其粘贴到另一个项目中。 (同样你可以使用导入而不是复制/粘贴) Visual Studio 将自动生成 (app.config) 的配置。

    first project

    第二个项目

    Second project

    接下来,当您单击设计器时,Visual Studio 应该会通知您所有属性都将添加到您的 app.config(并使其在您的设计器中可见)

    notification

    【讨论】:

      【解决方案3】:

      我只需要做类似的事情。

      对我有用的是:

      1. 使用“添加...”添加设置文件,将其命名为 Settings.settings
      2. 将设置文件移动到属性目录。 (只需抓住并移动它。)
      3. 现在,由于这是一个空设置文件,请将旧设置文件(您要移动的那个)复制到同一区域,覆盖刚刚创建的那个。
      4. 运行自定义工具重新创建 Settings.Designer.cs

      我的问题是我在尝试复制 Settings.settings 文件和 Settings.Designer.cs 时遇到了困难。那是不行的。

      【讨论】:

      • 谢谢。在项目设置中创建设置文件不会生成设计器文件,因此我无法在代码中访问我的设置。这修复了它,所以我有一个设计器文件,仍然可以在项目设置中配置设置。微软,你又在做什么......
      • @MartinBraun 我很高兴这被证明是有帮助的。
      【解决方案4】:

      根据this ASP.NET post,你可以这样做

      如果你编辑了settings.settings文件,而settings.designer.cs文件中的值没有改变,可以删除settings.designer.cs文件,然后在settings.settings文件上右击选择“运行自定义工具”。这将重新生成 settings.designer.cs 文件。

      【讨论】:

      • OP 想走另一条路。他们更改了 settings.designer.cs 文件并希望刷新 GUI。
      【解决方案5】:

      您可以删除 .Designer.cs 文件,然后从项目中排除 .settings 文件并再次包含它。然后重新生成 .designer 文件。

      在这两者之间,请确保单击“显示所有文件”按钮,否则您将看不到刚刚从项目中排除的文件。

      【讨论】:

      • 这不起作用。如果没有该文件,我会收到编译时错误:找不到源文件“Properties\Settings.Designer.cs”。
      • 抱歉,构建时它不会重新生成。您必须删除 .designer 文件。从项目中排除 .settings 文件并再次包含它。然后再次生成 .designer 文件。我刚刚尝试过这种方法,它确实有效。
      猜你喜欢
      • 1970-01-01
      • 2011-07-01
      • 2014-10-19
      • 2011-12-29
      • 2018-02-23
      • 2013-04-08
      • 2016-08-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多