【问题标题】:Config transformations and “TransformXml task failed” error message配置转换和“TransformXml 任务失败”错误消息
【发布时间】:2011-01-31 13:42:15
【问题描述】:

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

“TransformXml”任务失败 不料。 System.UriFormatException:无效 URI:URI 为空。在 System.Uri.CreateThis(字符串 uri, Boolean dontEscape, UriKind uriKind)
在 System.Uri..ctor(字符串 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 Web 应用程序,默认情况下它已经具有配置转换,我没有问题,所以我怀疑我的问题与项目相关。有没有人遇到过这个问题或对修复有任何想法?

【问题讨论】:

  • 很棒的视频,感谢您的链接

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


【解决方案1】:

看起来答案很简单但晦涩难懂;我有一个应用程序设置(密码),其中包含一个“>”符号。我尝试将应用程序转换为 .NET 4,然后再转换回 .NET 3.5,一切运行良好,因为在此过程中符号已转义为“>”。在配置转换出现之前,这个角色从来没有遇到过问题,但至少现在修复很简单。

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

【讨论】:

  • .NET 3.5 WCF 服务存在同样的问题。您的解决方案很有效。
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 2016-10-02
    • 2017-09-23
    • 1970-01-01
    • 2012-09-28
    • 1970-01-01
    • 1970-01-01
    • 2014-12-03
    • 2016-08-06
    • 2013-06-16
    相关资源
    最近更新 更多