2011-05-19 18 views
6

Estoy trabajando en una aplicación de formulario de Windows existente. Solo necesito hacer algunas modificaciones, durante esos cambios encontré un escenario en el que necesito renombrar también un espacio de nombres existente. Ahora, después de cambiar el nombre de ese espacio de nombres, mi proyecto no se está ejecutando. A pesar de que compila bien, pero se rompe en la siguiente línea de códigoC# archivo resx no funciona después de cambiar el espacio de nombres

ImageList il = new ImageList(); 
ImageList = il;    
il.Images.Add((Image)new Bitmap(GetType(), "Images.ImageFileName.png"));//when this line is executed a dialog box appears and says that "there is no source code available for current location" 

Ahora ya que soy nuevo a .NET mundo por lo que estudiar este problema y figura que surge debido al cambio en namspace. También trato de cambiar el nombre del espacio de nombres en Resources.Designer.cs pero tampoco resolvió mi problema

Respuesta

4

Gracias a todos.

Encuentro la solución por mi cuenta. El propósito de publicar una solución aquí es que puede beneficiar a alguien más. De hecho, es una especie de descuido de mi parte porque me olvido de cambiar el valor de la propiedad "Default NameSpace" esta propiedad contiene el antiguo espacio de nombres por eso mi archivo de recursos siempre apunta al antiguo namespace

3

intente deshacerse de esa segunda línea, ImageList = il;. lo que está haciendo es reemplazar una clase con una instancia de una clase. no está bien.

2

Haga clic derecho en Resources.resx, seleccione Properties, busque Custom Tool Namespace, establezca el espacio de nombres que necesita.

Además, ¿por qué no hace referencia a sus recursos de la manera tipeada como Resources.ResrouceName.

Aquí es un rápido tutorial de cómo puede configurar sus recursos para que no tenga que emitir y pensar en los espacios de nombres: http://msdn.microsoft.com/en-us/library/7k989cfy%28v=vs.80%29.aspx

+1

Puedo estar muy cansado por el momento, ¿o se olvidó de incluir el enlace al tutorial? :-) –

+0

@ Sensei76 - ouch ... Buena captura. ¡Gracias! :) –

0

que la sobrecarga específica del constructor de mapa de bits combina el espacio de nombres del tipo dado con la cadena nombre del recurso y busca una coincidencia en el manifiesto de ensamblaje. Entonces, en este caso, sería el espacio de nombre de su clase + ".Images.ImageFileName.png". Supongo que eso no existe. Cambie el espacio de nombre de Resources.resx haciendo clic derecho sobre él y seleccionando propiedades, haga una Reconstrucción y vea si funciona ahora.

0

También me he encontrado con este problema . Tuve que cambiar el nombre del espacio de nombre de mi aplicación. Después de eso, el diseñador ignoraba todos los recursos, aunque aparecían después de crear una solución y ejecutar la aplicación.

Encontré que, aunque había cambiado el nombre del espacio de nombres, no se reemplazó en Propiedades de la aplicación en el cuadro de texto "Espacio de nombre predeterminado". He cambiado el antiguo espacio de nombres que todavía estaba apareciendo allí con el nuevo espacio de nombres y luego funcionó correctamente.

Cuestiones relacionadas