2012-03-19 11 views
6

Cometimos el error de permitir que los archivos .csproj.user se registraran en TFS para que pudiéramos establecer los valores predeterminados de "Iniciar programa externo". Esto funcionó mal, especialmente cuando se ramifica..csproj.user emite cuando se registró en TFS

Ahora estamos tratando de deshacer esto.

Si elimino el archivo .csproj.user para un proyecto y luego tratar de establecer nuevas propiedades de depuración de proyectos, me sale:

TF14050: No se puede cambiar el elemento $/xxx.csproj.user porque ya tiene un cambio pendiente que no es compatible.

Si controlo la eliminación y realizo cambios, TFS intenta volver a agregar mi archivo .csproj.user.

¿Cómo podemos solucionar esto para proyectos existentes en el control de código fuente?

Actualización:

las pienso destruir es la mejor opción; sin embargo, terminamos eliminándolos con TFS Power Tools. El truco estaba en el primer Remove the Source Control File Type que teníamos para * .user, a pesar de que ya estaba deshabilitado. Ahora TFS parece ignorar por completo estos archivos.

Respuesta

2

Asegúrate de que nadie tenga el archivo desprotegido y luego borra el archivo, ingresando como una eliminación y no como una edición.

utilizo Team Foundation Power Tools y hacerlo desde el menú contextual de Windows Shell

1

Después de eliminar un archivo en TFS, no se ha ido todavía. Necesita registrar su eliminación. Solo entonces el archivo desaparecerá.

Es recomendable limpiar también el área de trabajo para asegurarse de que los archivos del usuario no permanezcan como archivos de solo lectura.

4

También quería registrar los archivos .user para hacer lo que quería el asker, para proporcionar los valores predeterminados para las opciones de depuración/ejecución. Resulta que el archivo .user es solo otro archivo XML del Proyecto MSBuild, y usted puede simplemente "fusionar" el grupo de propiedades en su proyecto. Sin necesidad de archivos .user.

<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'"> 
    <StartAction>Program</StartAction> 
    <StartProgram>$(VS100COMNTOOLS)..\IDE\devenv.exe</StartProgram> 
    <StartArguments>/rootsuffix Exp</StartArguments> 
    </PropertyGroup> 
0

Utilizo TFS Git y pude eliminar el archivo no deseado en el servidor a través del sitio del proyecto TFS. Luego sincronicé el proyecto local con el servidor.

Al abrir el proyecto para sincronizar, VS podría quejarse de que no se puede sincronizar hasta que confirme cambios en el archivo no deseado. Esto es exactamente lo que no quería hacer, quería que el archivo se fuera.

Sin embargo, en la pantalla de cambio hice clic derecho en el archivo y dije 'deshacer cambios' y eso lo hizo desaparecer.

Después, deshaciendo los cambios, pude sincronizar y el servidor eliminó el archivo no deseado de mi repositorio local.

Cuestiones relacionadas