我最近将项目从.NET Framework 4.5.1升级到4.7.2,并在项目中添加了WCF服务参考。
当我向.NET Framework 4.5.1项目添加服务引用时,reference.cs文件中的自动生成的代码具有以下构造方法
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
public abc(global::System.Uri serviceRoot) :
base(serviceRoot, global::System.Data.Services.Common.DataServiceProtocolVersion.V3)
但是当我向.NET Framework 4.7.2项目添加服务引用时,reference.cs文件中的自动生成的代码具有以下构造方法
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
public abc(global::System.Uri serviceRoot) :
base(serviceRoot)
.NET Framework 4.7.2项目的继承基类中不存在version参数。这会在运行时导致以下错误
MaxProtocolVersion小于以下值时,不支持方法“ Any” '3.0'
当我手动添加参数并运行项目时,它完全可以正常工作。但是我无法手动添加参数,因为它是自动生成的文件,并且在我更新服务后会被更新
我看过WCF服务.svc文件,InitializeService(DataServiceConfiguration config)方法具有下面的代码行。
config.DataServiceBehavior.MaxProtocolVersion = DataServiceProtocolVersion.V3;
预先感谢