Quelqu'un a-t-il vu cette erreur et sait comment y remédier?
La tâche «TransformXml» n'a pas pu être chargée à partir de l'assembly C: \ Program Files (x86) \ MSBuild \ Microsoft \ VisualStudio \ v11.0 \ Web \ Microsoft.Web.Publishing.Tasks.dll.
Impossible de charger le fichier ou l'assembly 'file: /// C: \ Program Files (x86) \ MSBuild \ Microsoft \ VisualStudio \ v11.0 \ Web \ Microsoft.Web.Publishing.Tasks.dll' ou l'une de ses dépendances. Le système ne peut pas trouver le fichier spécifié.
Confirmez que la déclaration est correcte, que l'assembly et toutes ses dépendances sont disponibles et que la tâche contient une classe publique qui implémente Microsoft.Build.Framework.ITask.
J'ai lu ailleurs que le problème vient du fait que SQL Server n'est pas installé. Mais j'ai SQL Express 2012 x64 installé avec SP1. J'utilise également VS 2013 Professional.
J'ai exécuté exactement la même solution dans VS 2012 express sans aucun problème.
la source
Réponses:
Les réponses fournies par Dai Bok et emalamisura fonctionnent correctement tant que vous utilisez Visual Studio 2012. Pour VS 2013, cela échoue également. Pour que cela fonctionne avec toutes les versions de Visual Studio, vous devez:
<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.targets" />
<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v$(VisualStudioVersion)\Web\Microsoft.Web.Publishing.targets" />
Cela définira la version correcte de Visual Studio de manière dynamique et correcte.
la source
$(VisualStudioVersion)
renvoie une version antérieure :(Pour faire fonctionner le mien, je viens de copier mon
v10.0
dossier et de le renommerv11.0
, et les choses semblent bien fonctionner à partir de là. C'est la solution miracle pour le moment.Comme ce n'est probablement pas la meilleure solution, et bien que cela fonctionne, j'allais essayer d'installer le SDK Microsoft Windows pour Windows 7 et .NET Framework 4 Windows SDK pour Windows 7 et .NET Framework 4, mais cela prend trop de temps pour Télécharger.
la source
Je lutte contre ce problème sur notre serveur de build depuis plusieurs jours, alors j'ai pensé que je documenterais la résolution à laquelle je suis arrivé. Tout d'abord, mon serveur de build a les extensions de publication Web installées . Je peux utiliser la tâche TransformXml au contenu de mon cœur dans un projet d'application Web.
Pour l'utiliser en dehors d'un projet d'application Web, j'ai essayé d'ajouter l'élément UsingTask à mon projet et de le pointer au bon endroit à l'aide des propriétés de construction ms (comme l'a démontré Benjamin). Cependant, ils n'étaient pas là sur mon serveur de build (ceux qui ont un accès facile au système de fichiers de leur serveur de build peuvent probablement ignorer cela et simplement installer le package approprié dans Visual Studio). Je suis même allé jusqu'à des versions de Visual Studio à code dur, mais cela m'a toujours laissé tomber cette erreur.
J'ai finalement abandonné, j'ai retiré les DLL de mon PC local:
Je les ai téléchargés sur le contrôle de code source et ajouté ce dossier à l'espace de travail de ma construction (Modifier la définition de construction -> Paramètres de la source -> Dossier de contrôle de la source). À partir de là, je n'ai même pas besoin de référencer le dossier - voici à quoi ressemble mon UsingTask:
Maintenant, je peux utiliser la tâche TransformXml à ma guise à partir de n'importe quel projet.
la source
Pour résoudre le problème,
Cela a résolu le problème car il crée les DLL dans le chemin mentionné.
la source
Tools → Get Tools and Features... → Individual Components: Windows 10 SDK (10.0.14393.0) and ASP.NET and web development tools
. Cela semble avoir fait l'affaire.Comme il n'y a que v12.0, v14.0 et v15.0 dans mon dossier VisualStudio, je modifie mon fichier projet et change le chemin de référence de v10.0 à v14.0. Ensuite, le projet se construit avec succès.
Avant:
Après:
la source
Pour VS2019
J'ai remplacé
MSBuildToolsVersion
parVisualStudioVersion
.la source
La bonne réponse à cela est de décharger le projet en question, puis de modifier le fichier csproj, de rechercher une entrée dans laquelle ils font référence au chemin 10.0 et de le modifier pour qu'il pointe vers 11.0 à la place.
la source
Vous avez besoin de deux choses pour que cela fonctionne:
1) Installez Visual Studio Build Tools (vous n'avez pas besoin de l'ensemble de Visual Studio, uniquement des VS Build Tools) avec l'option "Outils de build de développement Web" sélectionnée sur votre serveur de build https://www.visualstudio.com/pl/thank -vous-téléchargement-visual-studio /? sku = BuildTools & rel = 15
2) Assurez-vous que le chemin d'accès à Microsoft.Web.Publishing.Tasks.dll est correct
la source
Pour moi, cela a commencé à fonctionner simplement en ajoutant une référence au package NuGet MSBuild.Microsoft.VisualStudio.Web.targets v14.0.0.3
Même pas besoin d'ajouter l'élément UsingTask au fichier projet comme il l'a mentionné par l'auteur du package
Et puis j'ai pu utiliser TransformXml et d'autres tâches, définies dans le package, par exemple pour transformer app.config
la source
Juste au cas où quelqu'un utilise un csproj de style SDK, vous pouvez y parvenir sans avoir à installer Visual Studio sur le serveur de génération.
Vous devez d'abord installer le package nuget SlowCheetah dans votre projet. Une fois que vous l'avez installé, vous verrez ce qui suit dans votre projet de style SDK.
Assurez-vous ensuite d'ajouter l' attribut GeneratePathProperty = "true" (voir ci-dessous). Ceci est très important pour la partie suivante car cela vous aidera à saisir le chemin de l'endroit où le paquet nuget est restauré sur votre machine. George Dangl l'explique dans son article ici .
Importez les cibles SlowCheetah dans votre projet:
Vous pouvez maintenant utiliser une commande cible (dans ce cas après la publication) pour appliquer certaines transformations personnalisées. Si vous en avez besoin, vous pouvez toujours coder en dur les noms de fichiers ci-dessous au lieu d'utiliser les variables de l'exemple ci-dessous.
Si vous n'avez jamais utilisé SlowCheetah auparavant, je vous recommande de le vérifier. Ils ont une extension Visual Studio qui vous permettra de prévisualiser plus facilement les fichiers de transformation.
la source