2012-01-03 17 views
11

Tenemos un archivo SQL que es un recurso incrustado en nuestra solución. Cuando el archivo sql cambia, y hacemos clic en depurar, la solución no reconstruye el proyecto con el recurso incrustado si no ha cambiado el código C# actual.Force Visual Studio Reconstruir en recursos incrustados modificados

He tenido este problema con otras soluciones desde que tengo memoria, y personalmente sé hacer Build Solution para asegurarme de que se construya ... pero esto se ha convertido en un problema para un número de nuevos desarrolladores que No recuerdo hacer esto y me confundo cuando sus cambios en el archivo SQL no se reflejan en el momento de la depuración ... así que me preguntaba si alguien sabe una solución fácil.

+0

¿Qué está incrustando en lo que respecta al recurso de SQL ..? quizás este podría ser el problema ... ¿puedes dar una explicación más detallada ...? – MethodMan

+0

está teniendo 'archivo SQL' como recurso embebido es una opción obligatoria?. Quiero decir, si fuera un archivo separado, hay un workarround, para copiar ese archivo en build exitosa con 'xcopy', definiéndolo dentro de' Project properties'. – Tigran

+0

El recurso incrustado es necesario. Se empaqueta en un ensamblaje de acción personalizado utilizado por un instalador para ejecutar scripts de migración. El mismo ensamblaje se usa en el modo de depuración de la aplicación para asegurarse de que el DB con el que se están ejecutando esté actualizado. – Jeff

Respuesta

3

La solución más fácil es "reconstruir" en lugar de "compilar". Otras personas "limpiarán" y luego "construirán" para estar 100% seguras.

Los recursos incrustados no se actualizan en las DLL de depuración a menos que la DLL de salida esté truncada, lo que solo se puede garantizar que ocurra con la reconstrucción y la limpieza.

+1

Reconstruir se define para limpiar y compilar; no hay seguridad adicional al hacer una limpieza explícita (quizás aparte de estar seguro de haber presionado el botón/combinación de teclas derecha) –

0

Desafortunadamente, una limpieza y reconstrucción no parece funcionar siempre para los archivos de recursos. Mi problema fue con un archivo de recurso de cadena, y cómo lo uso era el siguiente en VS2016:

  1. Cerrar Resx y .Designer.cs si están abiertos en el IDE
  2. Eliminar clase .Designer.cs (botón derecho del ratón, borrar en el explorador de solución)
  3. doble clic en el archivo .resx explorador de soluciones para abrir
  4. Si es necesario, el cambio 'Acceso modificador' de 'público' a 'No generación de código', y ahorrar
  5. cambio 'Modificador de acceso' de 'Sin generación de código' a 'Público', y guarde => el código .Designer.cs debería entonces actualizar
0

Me encontré con el mismo problema con VS2017.

Esto es lo que funcionó para mí:

  1. Abrir el archivo .resx. Asegúrese de que está en el editor de recursos , no utiliza un editor XML ya que a veces los cambios realizados no habrá desencadenar la generación de Designer.cs
  2. Asegúrese de que Designer.cs no está abierto .
  3. Haz un pequeño cambio, guardar
  4. deshacer el cambio, guardar
Cuestiones relacionadas