33

Je viens d'activer les transformations de configuration sur un projet .NET 3.5 dans VS2010 RC après avoir visionné le video on web deployment de Scott Hanselman. Malheureusement, chaque fois que je vais publier je reçois maintenant l'erreur suivante:Transformations de configuration et message d'erreur "TransformXml task failed"

The "TransformXml" task failed unexpectedly. System.UriFormatException: Invalid URI: The URI is empty. at System.Uri.CreateThis(String uri, Boolean dontEscape, UriKind uriKind)
at System.Uri..ctor(String uriString) at Microsoft.Web.Publishing.Tasks.TransformXml.Execute() at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute() at Microsoft.Build.BackEnd.TaskBuilder.ExecuteInstantiatedTask(ITaskExecutionHost taskExecutionHost, TaskLoggingContext taskLoggingContext, TaskHost taskHost, ItemBucket bucket, TaskExecutionMode howToExecuteTask, Boolean& taskResult)

Si je prends une toute nouvelle application web VS2010 qui a déjà les transformations de configuration par défaut je n'ai pas un problème si je soupçonne mon problème est lié au projet. Quelqu'un at-il déjà rencontré cela ou avez-vous des idées sur une solution?

+0

vidéo impressionnante, merci pour le lien –

Répondre

66

On dirait que la réponse était simple et obscure; J'avais un paramètre d'application (un mot de passe), qui contenait un symbole ">". J'ai essayé de convertir l'application en .NET 4 puis de nouveau en .NET 3.5 et tout s'est bien passé car pendant le processus le symbole avait été échappé à ">". Je n'ai jamais eu de problème avec ce personnage jusqu'à ce que les transformations de config arrivent, mais au moins le correctif est maintenant simple.

Edit: blogué sur un peu plus en détail: Visual Studio 2010 Config Transformations TransformXml task failure

+0

Même problème ici avec un service WCF .NET 3.5. Votre solution a travaillé un régal. – Kezzer

0

Pour votre information: mon projet était déjà cible .NET 4.0, donc je suis passé à 3,5, puis de nouveau à 4,0 et il fonctionne de cette façon aussi.