MSBUILD: Build-Paket mit zusätzlichen Dateien

8

Ich habe in der letzten Woche einige ernsthafte Probleme mit dem Versuch gehabt, die Lösung zu implementieren: Ссылка .

Es basiert auf Sayeds Implementierung: Ссылка (was perfekt funktioniert) , aber ich brauche Dateien von mehreren Orten und Sayeds Lösung berücksichtigt dieses Szenario nicht.

Während Sams Lösung theoretisch genau das liefert, was ich brauche, kann ich es nicht bauen (obwohl ich seine Lösung ausgeschnitten und eingefügt habe und nur die Pfade geändert habe, die meine Umgebung widerspiegeln). Ich habe mir den folgenden Fehler mehrere Tage lang mit dem Kopf geschlagen:

%Vor%

Hier ist meine Implementierung von Sams Zielen:

%Vor%

Ich dachte, es könnte etwas mit Leerzeichen (oder den Platzhaltersymbolen) zu tun haben, also habe ich Folgendes versucht:

  • Das Protokoll wurde sowohl mit den Protokollstufen "detailliert" als auch "diagnostisch" untersucht

  • Verschiedene Inkarnationen von doppelten Anführungszeichen und einfachen Anführungszeichen

  • Den Knoten "Service-Referenzen" auskommentieren. (Die Pfade, die imgs enthalten, haben keine Leerzeichen)

  • Zeigt auf eine einzelne Datei mit einem absoluten Pfad. Daher werden sowohl Platzhalter als auch Fehler aufgrund des Pfads mit Leerzeichen entfernt. Ich dachte, das würde das Problem lösen, aber es ist mit dem gleichen Fehler fehlgeschlagen.

Nach der Ausgabe # 3 bin ich völlig am Ende. Es mag nicht, dass irgendwelche Dateien an es übergeben werden.

Jeder Einblick wäre sehr geschätzt. Vielen Dank im Voraus.

So sieht mein Ziel momentan aus und die entsprechende Fehlermeldung:

%Vor%     
Padawan Learner 21.11.2011, 20:50
quelle

4 Antworten

7

Ich habe Ihr Problem gefunden, und ich fürchte, es ist meine Schuld. Das Problem ist, dass Leerzeichen innerhalb des Elements DestinationRelativePath von FilesForPackagingFromProject signifikant sind. Ich habe Whitespace eingefügt, als ich den Blogpost gemacht habe, um XML einfacher lesbar zu machen, ohne zu merken, dass der Code dadurch fehlschlagen würde.

Also, wenn du es versuchst

%Vor%

Deine Probleme sollten hoffentlich behoben sein. Ich habe den Blogeintrag aktualisiert, um die anstößigen Leerzeichen zu entfernen.

Beachten Sie, dass, wie Scott Stafford in seinem Kommentar unten ausführt, CopyAllFilesToSingleFolderForPackageDependsOn in Visual Studio 2012 in CopyAllFilesToSingleFolderForMsdeployDependsOn umbenannt wurde.

    
SamStephens 27.11.2011, 06:48
quelle
3

Ich stieß auf ein Problem wie dieses, mit einem Ziel, das dem Vorschlag in Saustrups Antwort ähnlich ist.

In meinem Fall lag das Problem tatsächlich darin, dass mein Ziel zu spät ausgeführt wurde, sodass die Dateien erstellt wurden, nachdem die Anwendung erstellt, gepackt und bereitgestellt wurde. Dies liegt daran, dass ich BeforeTargets="Build" verwendet habe, um mein Ziel auszuführen. Ich habe dies viel ausführlicher in einer Antwort auf eine relevantere Frage behandelt (die ich nur gefunden habe, nachdem das Problem gelöst hat) hier .

    
hgcummings 15.07.2015 08:06
quelle
2

Dies funktioniert in Visual Studio 2013 für das Web:

%Vor%

Dieses spezielle Beispiel stammt von einem Umbraco 4-Projekt.

    
Saustrup 04.08.2014 19:46
quelle
0

MSBuild hat, wie Sie angegeben haben, Probleme mit Leerzeichen. Haben Sie versucht, doppelte Schrägstriche hinzuzufügen:

%Vor%     
Ben 22.11.2011 20:24
quelle

Tags und Links