2011-10-26 25 views
5

A veces (no siempre), cuando edito una configuración en la página "Mi proyecto", cuando agrego una o edito un valor desde allí, Obtiene un error: 'Settings is ambiguous between declaration in Modules '<project>.My.MySettingsProperty' and '<project>.My.MySettingsProperty'Visual Studio genera "Settings1.Designer.vb" cuando cambio una configuración

Visual Studio crea un duplicado de My Project\Settings.Designer.vb y registra ambos en el archivo .vbproj.

Cuando esto sucede, necesito eliminar Settings.Designer.vb, eliminar el "1" en Settings1.Designer.vb y eliminar las referencias a él en el archivo vbproj.

También ocurre cuando edito un modelo ORM Telerik (un archivo designer.vb copiado a designer1.vb), con el problema adicional de que en ese caso, el archivo designer.vb está vacío después.

Aquí hay otra descripción del problema, por otra persona (que no tiene una respuesta desde 2009 excepto la mía): http://social.msdn.microsoft.com/Forums/en-AU/vbide/thread/29e7b9ff-5cdc-456b-9d2f-bc85145e8eaf

Se puede pensar en una posible fuente, pero lo más importante, de una posible solución ?

Estoy usando Visual Studio 2008 Standard, y este problema no ocurrió hace unos meses.

Gracias

+0

Nunca antes había oído hablar de este problema, es muy raro. Debe ser ambiental, algún tipo de complemento VS que estropea esto. –

+0

Quizás; Tuve un problema (la configuración no se leyó y creó una carpeta "Visual Studio 2008" en la raíz de cada solución que abrí), pero la reinstalé y ahora funciona correctamente. ¿Tal vez alguien más tuvo ese problema también? – thomasb

Respuesta

8

que sufrían de esto también, con Visual Studio 2008, cuando jugar un poco demasiado con los parámetros de la aplicación. La corrección se describe here.

En resumen, en el archivo de proyecto, hay un elemento XML LastGenOutput dentro del elemento XML del archivo .settings. Si Visual Studio decide agregar un 1 al nombre de archivo generado .Designer.cs, esto se mantendrá en el elemento XML LastGenOutput. Siempre que no revierte este cambio en el archivo del proyecto, Visual Studio continuará utilizando el nuevo archivo .Designer.cs, intente lo que intente.


actualización

Una reproducción con Visual Studio 2008, 2010 y 2013 Actualización 1

  1. Crear un nuevo archivo .settings mediante el diseñador de configuración.
  2. En el diseñador, presione "Ver código", de modo que se genere un archivo complementario.
  3. Asegúrese de que el archivo complementario esté en el mismo directorio que los otros dos archivos.
  4. Excluye los tres archivos del proyecto.
  5. Mostrar archivos ocultos para el proyecto.
  6. Descargar el proyecto.
  7. Vuelva a cargar el proyecto.
  8. Incluye los tres archivos. Observe que el archivo de diseñador ahora se muestra debajo del archivo complementario.
  9. Cambia una configuración en el diseñador y guarda. Observe cómo se genera un segundo archivo .Designer.cs.
+0

El archivo de proyecto es el archivo que termina con '.vbproj'. – Dargmuesli

+0

Para los proyectos de Visual Basic.vbproj, el final del archivo es .vb, para los proyectos de C# .csproj, el final del archivo es .cs. De lo contrario, el problema es equivalente. – tm1

1

Tuve un problema similar con Visual Studio 2013: "referencias ambiguas" al insertar algunas imágenes nuevas en los recursos generales del proyecto.De repente, no fue posible compilar después de este cambio inocente.

El error muestra un texto como "Referencia ambigua entre módulos ..." (y menciona exactamente el mismo módulo dos veces) y repite todos los recursos, imágenes o textos posibles. Tampoco fue posible seleccionar nuevas imágenes para los controles de la lista de recursos y algunas ventanas no se pudieron abrir.

Esto sucedió cuando inesperadamente el IDE de Visual Studio duplicó la carpeta Resources.Designer.vb en MyProject (creando otro archivo con un "1" agregado al nombre: "Resources1.Designer.vb").

Para corregir el error edité el archivo de proyecto .vbproj a mano, borrando la referencia al segundo Resources.Designer (Resources1.Designer). También borré el archivo duplicado de la carpeta MyProject.

Después de hacer estas dos cosas (edición del archivo de proyecto y eliminación del archivo duplicado) el proyecto se recuperó y se comportó normalmente.

Espero que esto pueda ahorrarle tiempo a alguien más al tener el mismo error. ¡Haga una copia de seguridad antes de eliminar algo! ;-)

Cuestiones relacionadas