MSBuild ItemGroup, ausgenommen .svn Verzeichnisse und Dateien innerhalb
-
09-06-2019 - |
Frage
Wie kann ich eine MSBuild ItemGroup konstruieren Verzeichnisse ausschließen .svn und alle Dateien innerhalb (rekursiv). Ich habe:
<ItemGroup>
<LibraryFiles Include="$(LibrariesReleaseDir)\**\*.*" Exclude=".svn" />
</ItemGroup>
Im Moment, aber das schließt nicht alles!
Lösung
Danke für Ihre Hilfe, gelang es zu sortieren, wie folgt:
<ItemGroup>
<LibraryFiles Include="$(LibrariesReleaseDir)\**\*.*"
Exclude="$(LibrariesReleaseDir)\**\.svn\**" />
</ItemGroup>
das Muster im Grunde läuft auf Dateien Es stellte sich heraus übereinstimmt, so dass Sie alles unter dem .svn
Verzeichnisse (.svn\\**
) ausschließen für MSBuild das .svn
Verzeichnis auszuschließen selbst.
Andere Tipps
So das Problem ist mit Variablen aus irgendeinem Grunde in msbuild verketten. Die folgenden Werke für mich feststellen, dass ich auf der Variable MSBuildProjectDirectory nur relative Pfade basierend verwenden.
<CreateItem Include="$(MSBuildProjectDirectory)\..\Client\Web\Foo.Web.UI\**\*.*"
Exclude="$(MSBuildProjectDirectory)\..\Client\Web\Foo.Web.UI\**\.svn\**">
<Output TaskParameter="Include" ItemName="WebFiles" />
</CreateItem>
Die folgenden funktioniert nicht:
<PropertyGroup>
<WebProjectDir>$(MSBuildProjectDirectory)\..\Client\Web\Foo.Web.UI</WebProjectDir>
</PropertyGroup>
<CreateItem Include="$(WebProjectDir)\**\*.*"
Exclude="$(WebProjectDir)\**\.svn\**">
<Output TaskParameter="Include" ItemName="WebFiles" />
</CreateItem>
Sehr seltsam! Ich möchte nur 3 Stunden auf diesem ausgegeben.
Hier ist eine noch bessere Möglichkeit, es zu tun, wirklich rekursiv. Ich kann nicht scheinen, Ihre Lösung zu erhalten, um mehr als 1 Ebene tief zu gehen:
<LibraryFiles
Include="$(LibrariesReleaseDir)**\*.*"
Exclude="$(LibrariesReleaseDir)**\.svn\**\*.*"/>
Ich habe in einige Pannen läuft mit dem Einschließen / Ausschließen Ansatz, hier ist also etwas, das stattdessen für mich gearbeitet hat:
<ItemGroup>
<MyFiles Include=".\PathToYourStuff\**" />
<MyFiles Remove=".\PathToYourStuff\**\.svn\**" />
</ItemGroup>