Ich habe MyLib
library project zusammen mit einigen Beispielen. Die Bibliothek und die Beispiele befinden sich in der gleichen Lösung MySolution
.
In MyLib
library project Ich habe MSBuild-Code hinzugefügt, um die gesamte Lösung zu komprimieren und in ein anderes Verzeichnis für das Internet-Publishing zu kopieren.
Das Problem ist, dass wenn der Benutzer die Bibliothek herunterlädt und auf einem anderen Computer läuft, der Compiler einen Fehler anzeigt, der die importierte Bibliothek nicht gefunden hat MSBuild.Community.Tasks.Targets
. Ich möchte beim Erstellen der Lösung ZipAndCopy-Code aus der Projektdatei ausschließen. Wie geht das?
Klingt so, als ob Sie mehrere Build-Konfigurationen wünschen. Ich würde vorschlagen, eine speziell zum Erstellen und Zippen der Artefakte und eine separate für Ihre Benutzer einzurichten.
Release ZIP
könnte Ihr Build mit dem Post-Build-Event sein, um Ihre Dateien zu komprimieren, und Release
könnte ein gewöhnlicher Build sein, der mit den Community-Aufgaben nichts Besonderes macht.
Fügen Sie Condition
den Elementen Import
und Zip
hinzu:
Zum Beispiel:
%Vor%Ähnlich wie: C # Prüfen, ob eine Eigenschaft 'beginnt / endet mit' in einem csproj
Die obige Lösung verbirgt den Ladefehler der Projektdatei, aber Tomas scheint versucht zu sein, einen Task aus der Erweiterung MSBuild.Community.Tasks zu verwenden.
Dies sollte mit NuGet installierbar sein. Hier ist ein Link zur Quellseite, der zeigt, dass wir ihn über die Paket-Befehlszeile von NuGet installieren können:
%Vor%Ihre Dokumentation ist nicht großartig. Sie müssen den Pfad auch mithilfe von definieren:
%Vor%... wo Sie die Version durch die von NuGet verwendete Version ersetzen müssen. Es ist nicht perfekt, aber ich habe es geschafft, dass meine Arbeit funktioniert.
NuGet installiert es in Ihrem 'Packages' Ordner unter dem Stamm Ihres Solution / Project Trunks.
Ich bin auf Probleme gestoßen, bei denen Visual Studio immer noch darum kämpft, nach den Dateien an einem bestimmten Ort zu suchen. Kopieren Sie in diesem Fall die Dateien von '. \ Packages \ MSBuildTasks.1.4.0.88 \ tools *' nach 'C: \ Programme (x86) \ MSBuild \ MSBuildCommunityTasks \' .
Das ist nicht das eleganteste, aber ich konnte die neuen Tags erfolgreich einsetzen. Wenn ich einen Weg finde, diesen letzten Teil zu reparieren, werde ich meinen Beitrag aktualisieren.
Tags und Links c# visual-studio-2010 msbuild