2012-07-11 19 views
11

Estoy usando el control de fuente TFS.Al editar el archivo Resources.resx, Resources.Designer.cs no se actualiza porque TFS no lo comprueba

Cuando agrego una nueva clave de recurso a mi archivo de recursos - Resources.resx - y presiono guardar, TFS comprueba Resources.resx pero no revisa Resources.Designer.cs. Esto hace que la actualización de Resources.Designer.cs a fallar con el error:

The command you are attempting cannot be completed because the file 'Resources.Designer.cs' that must be modified cannot be changed. If the file is under source control, you may want to check it out; if the file is read-only on disk, you may want to change its attributes.

enter image description here

El error es correcto en que el archivo es de sólo lectura y el archivo no está desprotegido. No quiero tener que verificar manualmente el diseñador cada vez que agregue/edite una clave de recurso. ¿Alguien sabe de una solución o trabajar en torno a este problema?

Tenga en cuenta que tengo configurado TFS para "verificar al guardar" en lugar de "verificar la edición". Esto es deliberado para reducir la cantidad de cajas no editadas.

EDIT:

Esto sucede en otros tipos de archivos también. Por ejemplo, estoy usando RazorGenerator para crear vistas compiladas de MVC. El mismo problema ocurre si trato de editar el archivo .cshtml sin verificar primero .generated.cs.

ACTUALIZACIÓN:

Este problema se produce en todas (por lo que he visto) los archivos que tienen un código subyacente autogenerado: Resx, .edmx, .aspx, .cshtml (cuando se utiliza RazorGenerator para obtener vistas compiladas), etc. He decidido que no vale la pena solo por tener el conjunto "en edición: no hacer nada". Decidí restablecer esto en "en edición: finalizar la compra automáticamente". Gracias a todos por su aporte. No, gracias al equipo de TFS por este FAIL.

+1

Pedido en guardar solamente está provocando al guardar archivo, no se activa cuando el archivo se genera automáticamente ... :(Me temo que no va a obtener la respuesta correcta, además de que es por diseño, pero puede valer la pena apertura un caso en https://connect.microsoft.com/ y solicite cambiar este comportamiento. –

+0

@GoranObradovic. Esta es la mejor/más precisa respuesta que he tenido. Publique como respuesta y obtendrá la recompensa. –

Respuesta

1

Bueno, yo no creo que esto se considera como una respuesta así que lo escribió en el comentario. Pedido en guardar solamente está provocando al guardar archivo, no se activa cuando se genera automáticamente el archivo (autogenerate no se disparador para guardar lo que hace la salida, ya que este archivo se puede modificar mediante la herramienta personalizada asignado a resx).

Me temo que no obtendrá la respuesta adecuada (la que resolverá su problema) además de que es por diseño, pero puede valer la pena abrir un caso en connect y solicitar que se modifique este comportamiento.

1

Tengo que trabajar con TFS en el trabajo. He visto muchos milagros y hemos pasado mucho tiempo averiguando dónde está el problema. TFS es la elección de mi empresa, pero no es mi favorita.

TFS (especialmente cuando el servidor es lento y tiene problemas de red regularmente) es un desastre para mí como desarrollador. VS busca modificaciones solo sobre los archivos en solución, y como puede ver, no todos. Cuando utiliza herramientas de terceros (fitnesse para pruebas de integración o pasos de compilación personalizados) que requieren modificar archivos fuera de VS, es probable que obtenga el mismo error que usted.

Pero encontramos una solución. En mi máquina utilizo git. Hemos instalado git-tfs. Y todo lo que hay que recordar es tres órdenes mágicas

  • TFS git fetch
  • git merge mandos a distancia/TFS/defecto
  • git TFS ct

Eso es todo. Nunca romperás las reglas de la compañía. Y al mismo tiempo, estarás libre de ese tipo de problemas extraños. Nos olvidamos de esa pesadilla.

EDITAR: Los espacios de trabajo locales en el próximo TFS 2012 resolverán varios problemas, y TFS 2012 se acercará más a SVN, pero no será DVCS.MS invierte en la integración con DVCS externos. Bienvenido, bienvenido, Git-TF.

+0

Esto me causaría más problemas de lo que tengo actualmente. en el momento en que mi solución es a la caja de forma explícita el archivo antes de guardar. ¿usted sabe de una solución más simple, mientras que el mantenimiento de la * onedit = DoNothing * ajuste.? –

+1

creo que la TFS nuevo (2012) ahora también detecta archivos modificados fuera de la solución. He visto esto demostrado, pero parece que no puedo encontrar ninguna información directa sobre esto en la web ... – Raf

+0

@raf Correcto, TFS 2012 tiene el concepto de "espacios de trabajo locales" y está habilitado por defecto. –

1

creo que este es el problema

Note that I have TFS set up to "check out on save" as opposed to "check out on edit". This is deliberate to reduce the amount of unedited checkouts.

Para evitar problema anterior, volver a la configuración predeterminada. A continuación, descargue las herramientas eléctricas de TFS. A continuación, utilice este comando para revertir los cambios que se observan a cabo, pero no contienen ediciones

tfpt uu /noget 

Actualización: En el cambio de configuración anterior, el problema ya no se produce. Para más detalles, consulte la discusión a continuación en los comentarios.

+0

Es más fácil para mí echar un vistazo al archivo de recursos cuando lo edito. Tenga en cuenta que la configuración actual es deliberada y no reversible. –

+0

@flem no está por encima de la configuración en el lado VS del cliente y no en el lado del servidor TFS? Si es del lado del cliente, ¿puede cambiar esto y ver si esto funciona? – Ankush

+0

Ankush. Quiero esto en. Además, no quiero tener que ejecutar comandos tfpt cada vez que ingreso. Es más fácil para mí verificar explícitamente este archivo en particular. –

1

¿Por qué quiere reducir la cantidad que de las cajas sin editar? Si un archivo está registrado sin cambios, avisos TFS y no se mostrará en el historial de registro del archivo.

Puede probar esto por sí mismo por el control de un solo archivo y de inmediato el registro. TFS le dirá allí donde no hay cambios y la caja se deshace.

enter image description here

Así que tal vez considere el establecimiento de nuevo a la caja de edición? Como se mencionó en la otra respuesta, esto va a resolver sus problemas ...

+0

Gracias, pero esa no es una opción. Quiero que se apague la edición. –

Cuestiones relacionadas