una trabajo tortoise subversion subir excluir desvincular copia con como comandos carpeta archivos .net msbuild continuous-integration

.net - trabajo - MSBuild ItemGroup, excluyendo los directorios.svn y los archivos dentro de



subversion en linux (4)

¿Cómo puedo construir un MSBuild ItemGroup para excluir directorios .svn y todos los archivos dentro (recursivamente). Tengo:

<ItemGroup> <LibraryFiles Include="$(LibrariesReleaseDir)/**/*.*" Exclude=".svn" /> </ItemGroup>

Por el momento, ¡pero esto no excluye nada!


Aquí hay una forma aún mejor de hacerlo, de manera verdaderamente recursiva. Parece que su solución no tiene más de 1 nivel de profundidad:

<LibraryFiles Include="$(LibrariesReleaseDir)**/*.*" Exclude="$(LibrariesReleaseDir)**/.svn/**/*.*"/>


Entonces, el problema está en encadenar variables por alguna razón en msbuild. Lo siguiente funciona para mí, observe que solo debo usar rutas relativas basadas en la variable MSBuildProjectDirectory.

<CreateItem Include="$(MSBuildProjectDirectory)/../Client/Web/Foo.Web.UI/**/*.*" Exclude="$(MSBuildProjectDirectory)/../Client/Web/Foo.Web.UI/**/.svn/**"> <Output TaskParameter="Include" ItemName="WebFiles" /> </CreateItem>

Lo siguiente no funciona:

<PropertyGroup> <WebProjectDir>$(MSBuildProjectDirectory)/../Client/Web/Foo.Web.UI</WebProjectDir> </PropertyGroup> <CreateItem Include="$(WebProjectDir)/**/*.*" Exclude="$(WebProjectDir)/**/.svn/**"> <Output TaskParameter="Include" ItemName="WebFiles" /> </CreateItem>

¡Muy extraño! Acabo de pasar como 3 horas en este caso.


Me he encontrado con algunos problemas técnicos usando el enfoque Incluir / Excluir, así que aquí hay algo que me ha funcionado:

<ItemGroup> <MyFiles Include="./PathToYourStuff/**" /> <MyFiles Remove="./PathToYourStuff/**/.svn/**" /> </ItemGroup>


Gracias por su ayuda, logró ordenarlo de la siguiente manera:

<ItemGroup> <LibraryFiles Include="$(LibrariesReleaseDir)/**/*.*" Exclude="$(LibrariesReleaseDir)/**/.svn/**" /> </ItemGroup>

Resulta que la coincidencia de patrones básicamente se ejecuta en archivos, por lo que debe excluir todo A CONTINUACIÓN de los directorios .svn//** ( .svn//** ) para que MSBuild excluya el directorio .svn .