Hat jemand diesen Fehler gesehen und weiß, wie man ihn behebt?
Die Task "TransformXml" konnte nicht aus der Assembly C: \ Programme (x86) \ MSBuild \ Microsoft \ VisualStudio \ v11.0 \ Web \ Microsoft.Web.Publishing.Tasks.dll geladen werden.
Datei oder Assembly 'file: /// C: \ Programme (x86) \ MSBuild \ Microsoft \ VisualStudio \ v11.0 \ Web \ Microsoft.Web.Publishing.Tasks.dll' oder eine ihrer Abhängigkeiten konnte nicht geladen werden. Die angegebene Datei wurde vom System nicht gefunden.
Stellen Sie sicher, dass die Deklaration korrekt ist, dass die Assembly und alle ihre Abhängigkeiten verfügbar sind und dass die Aufgabe eine öffentliche Klasse enthält, die Microsoft.Build.Framework.ITask implementiert.
Ich habe an anderer Stelle gelesen, dass das Problem darin besteht, dass Sie SQL Server nicht installiert haben. Aber ich habe SQL Express 2012 x64 mit SP1 installiert. Ich verwende auch VS 2013 Professional.
Ich habe genau diese Lösung in VS 2012 Express ohne Probleme ausgeführt.
quelle
Antworten:
Die Antworten von Dai Bok und emalamisura funktionieren einwandfrei, solange Sie Visual Studio 2012 verwenden. Für VS 2013 schlägt dies ebenfalls fehl. Damit dies mit allen Versionen von Visual Studio funktioniert, sollten Sie:
<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.targets" />
<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v$(VisualStudioVersion)\Web\Microsoft.Web.Publishing.targets" />
Dadurch wird die richtige Version von Visual Studio dynamisch und ordnungsgemäß festgelegt.
quelle
$(VisualStudioVersion)
gibt eine frühere Version zurück :(Um meinen zum Laufen zu bringen, habe ich einfach meinen
v10.0
Ordner kopiert und in umbenanntv11.0
, und von da an scheint alles gut zu funktionieren. Das ist die schnelle Lösung für jetzt.Da dies wahrscheinlich nicht die beste Lösung ist und obwohl es funktioniert, wollte ich versuchen, das Microsoft Windows SDK für Windows 7 und .NET Framework 4 zu installieren. Windows SDK für Windows 7 und .NET Framework 4 dauert jedoch zu lange herunterladen.
quelle
Ich habe dieses Problem auf unserem Build-Server mehrere Tage lang bekämpft, also dachte ich, ich würde die Lösung dokumentieren, zu der ich gekommen bin. Zunächst sind auf meinem Build-Server die Web Publishing-Erweiterungen installiert . Ich kann die TransformXml-Aufgabe nach Herzenslust in einem Webanwendungsprojekt verwenden.
Um es außerhalb eines Webanwendungsprojekts zu verwenden, habe ich versucht, das UsingTask-Element zu meinem Projekt hinzuzufügen und es mithilfe der ms-Build-Eigenschaften auf die richtige Stelle zu verweisen (wie Benjamin gezeigt hat). Sie waren jedoch nicht auf meinem Build-Server vorhanden (diejenigen mit einfachem Zugriff auf das Dateisystem ihres Build-Servers können dies wahrscheinlich überspringen und einfach das entsprechende Paket in Visual Studio installieren). Ich ging sogar so weit, Visual Studio-Versionen mit hartem Code zu erstellen, aber dieser Fehler fiel mir immer auf.
Ich gab schließlich auf und zog die DLLs von meinem lokalen PC:
Ich habe sie in die Quellcodeverwaltung hochgeladen und diesen Ordner zum Arbeitsbereich meines Builds hinzugefügt (Build-Definition bearbeiten -> Quelleinstellungen -> Quellcodeverwaltungsordner). Von dort aus muss ich nicht einmal mehr auf den Ordner verweisen - so sieht meine UsingTask aus:
Jetzt kann ich die TransformXml-Aufgabe nach Herzenslust aus jedem Projekt verwenden.
quelle
Um das Problem zu beheben,
Dies löste das Problem, da die DLLs im genannten Pfad erstellt wurden.
quelle
Tools → Get Tools and Features... → Individual Components: Windows 10 SDK (10.0.14393.0) and ASP.NET and web development tools
. Dies scheint den Trick getan zu haben.Da sich in meinem VisualStudio-Ordner nur v12.0, v14.0 und v15.0 befinden, bearbeite ich meine Projektdatei und ändere den Referenzpfad von v10.0 in v14.0. Dann wird das Projekt erfolgreich erstellt.
Vor:
Nach dem:
quelle
Für VS2019
Ich habe ersetzt
MSBuildToolsVersion
durchVisualStudioVersion
.quelle
Die richtige Antwort darauf besteht darin, das betreffende Projekt zu entladen und dann die csproj-Datei zu bearbeiten, nach einem Eintrag zu suchen, in dem auf den 10.0-Pfad verwiesen wird, und ihn stattdessen in 11.0 zu ändern.
quelle
Sie benötigen zwei Dinge, damit es funktioniert:
1) Installieren Sie Visual Studio Build Tools (Sie benötigen nicht das gesamte Visual Studio, nur die VS Build Tools) mit der ausgewählten Option "Web Development Build Tools" auf Ihrem Build Server https://www.visualstudio.com/pl/thank -you-downloading-visual-studio /? sku = BuildTools & rel = 15
2) Stellen Sie sicher, dass der Pfad zu Microsoft.Web.Publishing.Tasks.dll korrekt ist
quelle
Für mich funktionierte es nur durch Hinzufügen eines Verweises auf das NuGet-Paket MSBuild.Microsoft.VisualStudio.Web.targets v14.0.0.3
Es ist auch nicht erforderlich, das UsingTask-Element zur Projektdatei hinzuzufügen, wie vom Paketautor angegeben
Und dann konnte ich TransformXml und andere im Paket definierte Aufgaben verwenden, um beispielsweise app.config zu transformieren
quelle
Nur für den Fall, dass jemand ein csproj im SDK-Stil verwendet, können Sie dies erreichen, ohne Visual Studio auf dem Build-Server installieren zu müssen.
Zuerst sollten Sie das SlowCheetah-Nuget-Paket in Ihrem Projekt installieren . Nach der Installation wird in Ihrem SDK-Projekt Folgendes angezeigt.
Stellen Sie dann sicher, dass Sie das Attribut GeneratePathProperty = "true" hinzufügen (siehe unten). Dies ist für den nächsten Teil sehr wichtig, da Sie so den Pfad ermitteln können, auf dem das Nuget-Paket auf Ihrem Computer wiederhergestellt wird. George Dangl erklärt es in seinem Artikel hier .
Importieren Sie die SlowCheetah-Ziele in Ihr Projekt:
Sie können jetzt einen Zielbefehl (in diesem Fall nach der Veröffentlichung) verwenden, um einige benutzerdefinierte Transformationen anzuwenden. Bei Bedarf können Sie die folgenden Dateinamen jederzeit fest codieren, anstatt die Variablen im folgenden Beispiel zu verwenden.
Wenn Sie SlowCheetah noch nicht verwendet haben , empfehle ich, es auszuprobieren . Sie verfügen über eine Visual Studio-Erweiterung, die Ihnen die Vorschau von Transformationsdateien erleichtert.
quelle