dotnet / dotnet/wcf

Upgrade to 6.0.0 (from 4.10.2) is missing IBindingRuntimePreferences

Open
#5,202 9 comments 5 reactions 0 assignees View on GitHub
triaged
Dominant language
C#
Stars
1.8k
Forks
576
Avg merge
6d 9h
Merged PRs (30d)
2

Description

I have a wcf CustomBinding that is using BasicHttpBinding.
After the upgrade to 6.0.0 I get the following error in VS 2022

Error CS7069 Reference to type 'IBindingRuntimePreferences' claims it is defined in 'System.ServiceModel.Primitives', but it could not be found

I have added the nuget package Primitives. As well as alot of others to test with no joy

Looking in github, the interface exists in the RTM tag but not the 6.0.0 tag
is this the problem???
Or am I doing something wrong??

https://github.com/dotnet/wcf/blob/**v6.0.0-rtm**/src/System.ServiceModel.Primitives/src/System/ServiceModel/Channels/IBindingRuntimePreferences.cs

https://github.com/dotnet/wcf/blob/**v6.0.0**/src/System.ServiceModel.Primitives/src/System/ServiceModel/Channels/IBindingRuntimePreferences.cs

I have replicated this on a new console app with a class library with a single class
ConsoleApp1.zip](https://github.com/dotnet/wcf/files/12075724/ConsoleApp1.zip)

TestClass.cs
```
using System.ServiceModel;
using System.ServiceModel.Channels;

namespace TestNamespace
{

public abstract class TestClass
{
private static CustomBinding BuildBinding()
{
//ERROR ON LINE BELOW
var binding = new CustomBinding(new BasicHttpBinding
{
MaxBufferSize = int.MaxValue,
ReaderQuotas = System.Xml.XmlDictionaryReaderQuotas.Max,
MaxReceivedMessageSize = int.MaxValue,
AllowCookies = true,
Security =
{
Mode = BasicHttpSecurityMode.TransportWithMessageCredential,
}
});

return binding;

}
}
}
```
The ClassLibrary1.csproj file is as follows

```


net6.0
enable
enable








```
[ConsoleApp1.zip](https://github.com/dotnet/wcf/files/12075724/ConsoleApp1.zip)

Contributor guide

Open the contributing guide

Research direction

Reproduce the compiler error using TestClass.cs and the package references in ClassLibrary1.csproj. Compare IBindingRuntimePreferences.cs between the v6.0.0-rtm and v6.0.0 tags, then inspect the referenced System.ServiceModel.Primitives assembly. Done means identifying whether the interface is missing from the 6.0.0 package and documenting or correcting the package behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
api
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.