配置转换和“TransformXml任务失败”错误消息

时间:2010-03-25 04:46:49

标签: asp.net visual-studio configuration visual-studio-2010 publishing

在观看了Scott Hanselman的video on web deployment之后,我刚刚在VS2010 RC中的.NET 3.5项目上启用了配置转换。不幸的是,每次我发布时,我现在都会收到以下错误:

  

“TransformXml”任务失败   不料。   System.UriFormatException:无效   URI:URI为空。在   System.Uri.CreateThis(String uri,   布尔dontEscape,UriKind uriKind)
  在System.Uri..ctor(String uriString)   在   Microsoft.Web.Publishing.Tasks.TransformXml.Execute()   在   Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()   在   Microsoft.Build.BackEnd.TaskBuilder.ExecuteInstantiatedTask(ITaskExecutionHost   taskExecutionHost,TaskLoggingContext   taskLoggingContext,TaskHost taskHost,   ItemBucket存储桶,TaskExecutionMode   howToExecuteTask,Boolean& taskResult)

如果我采用一个全新的VS2010网络应用程序,默认情况下我已经有配置转换,我没有问题所以我怀疑我的问题与项目有关。有没有人遇到过这个问题或对修复有任何想法?

2 个答案:

答案 0 :(得分:66)

看起来答案简单而模糊;我有一个应用程序设置(密码),其中包含“>”符号。我尝试将应用程序转换为.NET 4,然后再转换回.NET 3.5,一切都运行正常,因为在此过程中符号已转义为“>”。在配置转换出现之前从未出现过这个问题,但至少修复现在很简单。

编辑:更详细的博客:Visual Studio 2010 Config Transformations TransformXml task failure

答案 1 :(得分:0)

仅供参考:我的项目已经针对.NET 4.0,因此我将其切换为3.5然后再切换到4.0,它也可以这样工作。