当我更改配置设置时,Visual Studio会生成"Settings1.Designer.vb"。

7
有时(不总是),当我在“我的项目”页面中编辑设置时,当我从那里添加或编辑一个值时,会出现错误:'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标准版,而这个问题在几个月前并没有发生。

谢谢


以前从未听说过这个问题,这非常罕见。 它一定是环境问题,某种VS插件搞砸了它。 - Hans Passant
也许吧,我确实遇到了一个问题(设置未被读取,并且在我打开的每个解决方案的根目录下创建了一个“Visual Studio 2008”文件夹),但我重新安装了它,现在它正常工作。也许其他人也遇到了这个问题? - thomasb
3个回答

11
我也曾遇到这个问题,使用Visual Studio 2008时,过多地更改应用程序设置会导致此问题。解决方法在这里中描述。
简而言之,在项目文件中,.settings文件的XML元素中有一个LastGenOutput XML元素。如果Visual Studio决定向生成的.Designer.cs文件名添加1,则将保存到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文件。

项目文件是以 .vbproj 结尾的文件。 - dargmuesli
对于Visual Basic.vbproj项目,文件扩展名为.vb,对于C# .csproj项目,文件扩展名为.cs。否则,问题是等效的。 - tm1

2
我曾经在使用Visual Studio 2013时遇到了类似的问题:在项目的通用资源中插入一些新的图片后出现“模块之间的引用不明确”的问题。突然之间,这个无意义的更改导致编译失败。
错误显示的文本类似于“模块之间的引用不明确...”(并且两次完全相同地提到了同一个模块),并且对所有可能的资源、图像或文本重复显示。此外,无法从资源列表中选择控件的新图像,并且有些窗口也无法打开。
这种情况发生在Visual Studio IDE意外地将Resources.Designer.vb重复到MyProject文件夹中(创建另一个文件并在名称末尾添加“1”:“Resources1.Designer.vb”)。
为了纠正错误,我手动编辑了项目文件.vbproj,删除了对第二个Resources.Designer(Resources1.Designer)的引用。我还从MyProject文件夹中删除了重复的文件。
完成这两件事(编辑项目文件和删除重复文件)后,项目恢复正常并表现正常。
希望这能为其他遇到同样错误的人节省时间。 在删除任何内容之前请备份!!! ;-)

1

不确定这是否仍然是一个问题,但我刚遇到了同样的问题,并根据这里的建议解决了它。删除重复文件并手动编辑项目文件。

然而,我发现可能是根本原因:我的项目文件中有2个重复的部分,其中设置文件具有相同的元素。因此,我删除了重复的部分。现在我将看看问题是否消失。


这似乎是“我也是”,“谢谢”和“我还没有解决方案”的组合。在StackOverflow上,这些都不被视为答案。请编辑以提供您发现的内容,使其符合[答案] - 或删除它,直到您可以贡献您赞赏的见解。玩得开心。 - Yunnosch

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接