Я недавно обновил свой проект с .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.Это вызывает приведенную ниже ошибку во время выполнения
, метод «Any» не поддерживается, если MaxProtocolVersion меньше «3.0»
Когда я добавляю параметр вручную изапустить проект, он работает совершенно нормально.Но я не могу добавить параметр вручную, так как это автоматически сгенерированный файл, и он обновляется после обновления службы
Я посмотрел файл WCF службы .svc, а метод InitializeService (DataServiceConfiguration config) имеет следующую строкукода.
config.DataServiceBehavior.MaxProtocolVersion = DataServiceProtocolVersion.V3;
Заранее спасибо