11

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

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

从中复制所有文本Settings.Designer.cs已经产生了所需的编译时功能,但我似乎无法使用 gui 来更改属性。与我的源项目不同,该 gui 不显示任何属性。我还担心我的更改会随着 VS 的突发奇想而消失(当它重新生成此文件时)。

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

4

5 回答 5

24

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

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

于 2012-12-27T19:19:44.107 回答
3

我只需要做类似的事情。

对我有用的是:

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

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

于 2014-08-29T14:05:40.237 回答
1

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

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

于 2014-04-17T19:24:18.707 回答
1

This is an old question. Now seems like none of the above answers apply to VS 2019, and yet this problem continues to exist in some fashion. I deleted and excluded and re-added until I could no longer remember what I did. But in the end, it started working. Looking at what VS added to my csproj file, I think the key is that you need this:

<Compile Update="Properties\Settings.Designer.cs">
  <DesignTimeSharedInput>True</DesignTimeSharedInput>
  <AutoGen>True</AutoGen>
  <DependentUpon>Settings.settings</DependentUpon>
</Compile>
于 2021-11-30T21:13:45.883 回答
0

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

第一个项目

第二个项目

第二个项目

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

通知

于 2020-12-07T11:32:52.860 回答