6

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

谢谢

4

2 回答 2

10

在使用 Visual Studio 2008 时,我也遇到了这种情况,因为我在应用程序设置上搞得太乱了。此处描述了该修复程序。

简而言之,在项目文件中,文件的LastGenOutputXML 元素内部有一个 XML 元素.settings。如果 Visual Studio 决定将 a 添加1到生成的.Designer.cs文件名,这将被持久化到LastGenOutputXML 元素。只要您不恢复项目文件中的此更改,Visual Studio 将继续使用新.Designer.cs文件,无论您尝试什么。


更新

使用 Visual Studio 2008、2010 和 2013 Update 1 复制

  1. 使用设置设计器创建一个新的 .settings 文件。
  2. 在设计器中,按“查看代码”,将生成一个伴随文件。
  3. 确保伴随文件与其他两个文件位于同一目录中。
  4. 从项目中排除所有三个文件。
  5. 显示项目的隐藏文件。
  6. 卸载项目。
  7. 重新加载项目。
  8. 包括这三个文件。请注意,设计器文件现在显示在配套文件下方。
  9. 更改设计器中的设置并保存。注意第二个 .Designer.cs 文件是如何生成的。
于 2013-03-01T15:15:24.290 回答
1

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

该错误显示类似“模块之间的歧义引用...”之类的文本(并两次提及完全相同的模块),并针对所有可能的资源、图像或文本重复出现。此外,无法从资源列表中为控件选择新图像,并且某些窗口无法打开。

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

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

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

我希望这可以为其他人节省一些时间来解决同样的错误。删除前请先备份!!!;-)

于 2017-12-13T19:31:00.960 回答