【发布时间】:2016-05-18 15:19:40
【问题描述】:
我已将我的项目从 .Net 4.5 升级到 .Net 4.6.1,现在尝试编译时出现以下错误:
“GenerateBindingRedirects”任务意外失败。 System.NullReferenceException:对象引用未设置为对象的实例。 在 Microsoft.Build.Tasks.GenerateBindingRedirects.UpdateExistingBindingRedirects(XElement runtimeNode,IDictionary`2 重定向) 在 Microsoft.Build.Tasks.GenerateBindingRedirects.Execute() 在 Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute() 在 Microsoft.Build.BackEnd.TaskBuilder.d__26.MoveNext()
自定义工具错误:无法生成文件:为 system.serviceModel/bindings 创建配置节处理程序时出错:参数不正确。 (HRESULT 异常:0x80070057 (E_INVALIDARG))(C:\ALM[BranchName]\Common[ProjectName]\app.config 第 48 行)Portal.Interface C:\ALM[BranchName]\Common[ProjectName]\Service References[ServiceName ]\Reference.svcmap
根据其他搜索,我尝试过: 删除应用配置中的 ServiceModel 部分并更新服务引用。 但这不起作用,因为我无法从我的机器访问服务。
我还确认服务引用配置为未选中“在引用的程序集中重用类型”。
一次搜索使我删除了 Reference.svcmap 中的一个条目,但没有具体说明应该删除哪些条目。
我对服务参考肯定不满意,因此我们将不胜感激。
【问题讨论】:
-
嗯,“意外”是一个非常准确的描述。我怀疑你必须先告诉我们更多关于你的项目的信息,然后任何人才能制定关于 app.config 文件如何影响 MSBuild 的理论。
-
如果您喜欢冒险,您可以查看source code 以了解您的项目文件可能有什么问题。有几件事可能会导致 NRE,但一种可能的可能性是,某些预期的 XML 属性在您的项目文件中没有出现在它们应该出现的位置。
标签: c# .net .net-4.5 service-reference .net-4.6.1