“EnsureBindingRedirects”任务意外失败
错误,当我从vs2012
创build新的ASP.NET 4.5
网页表单应用程序,并更新所有nuget
包..我在构build上收到此错误。
Error 1 The "EnsureBindingRedirects" task failed unexpectedly. System.NullReferenceException: Object reference not set to an instance of an object. at Roxel.BuildTasks.EnsureBindingRedirects.MergeBindingRedirectsFromElements(IEnumerable`1 dependentAssemblies) at Roxel.BuildTasks.EnsureBindingRedirects.Execute() at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute() at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__20.MoveNext()
这是Microsoft.Bcl.Build中的一个错误,为了解决这个问题,您必须将cultureinfo放入web.config或app.config的assemblyIdentity部分。 例如:
<dependentAssembly> <assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" /> <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" /> </dependentAssembly>
应该:
<dependentAssembly> <assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" culture="neutral" /> <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" /> </dependentAssembly>
/亨里克
更新Microsoft.Bcl.Build来解决这个问题。
在程序包pipe理器控制台上运行:
Update-Package Microsoft.Bcl.Build
我有这个错误,但略有不同,花了我45分钟,所以想我最好把它弄出去。
遇到"EnsureBindingRedirects" task failed unexpectedly
问题,但我的来自一个XmlException:
(...)\packages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets(97,5): error MSB4018: System.Xml.XmlException: '=' is an unexpected token. The expected token is ';'. Line 39, position 175.
原因是我最近添加了一个条目到我的web.config的appSettings
的value
是一个包含&符号的URL。 &符号需要在XML中转义,即使在属性值中也是如此。 我将url值中的所有&
更改为&
它没有问题build成。
在我的情况下,问题已经发现后,我合并了一个分支,打破了我的web.config文件。 它添加了注释字符序列<!--
没有closures部分-->
。 使文件标记有效解决了问题。
一个新版本的Microsoft.Bcl.Build(1.0.6)已被推到NuGet.org解决这个问题。 将文化添加到assemblyIdentity中的解决方法不再是必要的,但是如果您将其放入,则不会受到伤害。
您已经添加了一个实际上不存在于您的解决scheme文件夹中的文件的引用。
这发生在我有一个BIN和OBJ文件夹标记为只读。 删除* .dll.config和* .app.config中的只读或删除这些文件夹。