更改配置设置时,Visual Studio生成“Settings1.Designer.vb”

时间:2011-10-26 09:46:19

标签: visual-studio settings.settings

有时(并非总是),当我在“我的项目”页面中编辑设置时,当我添加一个或从中编辑一个值时,我收到一个错误:'Settings is ambiguous between declaration in Modules '<project>.My.MySettingsProperty' and '<project>.My.MySettingsProperty'

Visual Studio创建My Project\Settings.Designer.vb的副本,并在.vbproj文件中注册它们。

发生这种情况时,我需要删除Settings.Designer.vb,删除Settings1.Designer.vb中的“1”,并删除vbproj文件中对它的引用。

当我编辑Telerik ORM模型(复制到designer1.vb的designer.vb文件)时,也会发生这种情况,并且在这种情况下,此后,designer.vb文件后面是空的。

以下是其他人的问题(自2009年以来没有答案,除了我的):http://social.msdn.microsoft.com/Forums/en-AU/vbide/thread/29e7b9ff-5cdc-456b-9d2f-bc85145e8eaf

你能想到一个可能的来源,但更重要的是,可能的解决方案吗?

我正在使用Visual Studio 2008 Standard,几个月前这个问题没有发生。

由于

2 个答案:

答案 0 :(得分:10)

我在使用Visual Studio 2008时也遇到了这个问题,因为应用程序设置过多。该修复程序描述为here

简而言之,在项目文件中,LastGenOutput文件的XML元素中有一个.settings XML元素。如果Visual Studio决定向生成的1文件名添加.Designer.cs,则会将其保留为LastGenOutput XML元素。只要您不在项目文件中还原此更改,Visual Studio将继续使用新的.Designer.cs文件。


更新

使用Visual Studio 2008,2010和2013 Update 1进行复制

  1. 使用设置设计器创建新的.settings文件。
  2. 在设计器中,按“查看代码”,以便生成随播文件。
  3. 确保随播广告文件与其他两个文件位于同一目录中。
  4. 排除项目中的所有三个文件。
  5. 显示项目的隐藏文件。
  6. 卸载项目。
  7. 重新加载项目。
  8. 包含三个文件。请注意,设计器文件现在显示在配套文件下面。
  9. 更改设计器中的设置并保存。注意如何生成第二个.Designer.cs文件。

答案 1 :(得分:1)

我在使用Visual Studio 2013时遇到了类似的问题:在项目的一般资源上插入一些新图像的“模糊引用”。在这无辜的改变之后,突然间无法编译。

错误显示的文字类似于“模块之间的模糊参考......”(并且两次提到完全相同的模块)并重复所有可能的资源,图像或文本。 此外,无法从资源列表中为控件选择新图像,并且某些窗口无法打开。

这发生了,当意外地在Visual Studio IDE重复上MyProject的文件夹中的Resources.Designer.vb(创建与另一个文件中的“1”添加到名称:“Resources1.Designer.vb”)。

为了纠正错误,我手动编辑了项目文件.vbproj,删除了对第二个Resources.Designer(Resources1.Designer)的引用。我还从MyProject文件夹中删除了重复的文件。

完成这两件事(项目文件的编辑和删除重复文件)后,项目恢复并正常运行。

我希望这可以节省一些时间给别人带来同样的错误。 请在删除之前备份!!! ; - )