33

我刚刚在观看Scott Hanselman的video on web deployment后,在VS2010 RC中的.NET 3.5项目上启用了配置转换。不幸的是我每次去发表我现在得到以下错误:配置转换和“TransformXml任务失败”错误消息

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)

如果我拿已经有默认的配置转换的全新的VS2010的Web应用程序,我没有问题,所以我怀疑我的问题是项目相关的。有没有人曾经遇到过这个问题,或者对修复有任何想法?

+0

真棒视频,感谢您的链接 – 2011-03-30 20:13:23

回答

66

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

编辑:在一个稍微详细的博客上讲述:Visual Studio 2010 Config Transformations TransformXml task failure

+0

与.NET 3.5 WCF服务在这里相同的问题。你的解决方案是一种享受。 – Kezzer 2010-07-09 08:13:11

0

FYI:我的项目已经针对.NET 4.0,所以我把它切换到3.5,然后再回到4.0和它的作品这种方式为好。

相关问题