Assuming a solution with the following project/code structure:
PollySeven.MyHttpClient
depends on Microsoft.Extensions.Http.Polly
(which depends on Polly
v6).PollySeven.MyHttpClient
uses RetryAsync()
extension method to register MyService
.PollySeven
depends on PollySeven.MyHttpClient
and Polly
v7.PollySeven
uses MyService
.
PollySeven
public static void Main(string[] args) { var services = new ServiceCollection(); services.AddMyServices(); ServiceProvider provider = services.BuildServiceProvider(true); var service = provider.GetRequiredService<MyService>(); // System.TypeLoadException: // 'Could not load type 'Polly.RetrySyntaxAsync' from assembly // 'Polly, Version=7.0.0.0, Culture=neutral, PublicKeyToken=c8a3ffc3f8f825cc'.' }
PollySeven.MyHttpClient
public static IServiceCollection AddMyServices(this IServiceCollection services) { services.AddHttpClient<MyService>() .AddTransientHttpErrorPolicy(p => p.RetryAsync()); return services; }
When the application runs, I get System.TypeLoadException
.
The root cause of this issue might be similar to #611.
Expected behavior:
Code executes successfully.
Actual behaviour:
System.TypeLoadException
is thrown:
Could not load type 'Polly.RetrySyntaxAsync' from assembly
'Polly, Version=7.0.0.0, Culture=neutral, PublicKeyToken=c8a3ffc3f8f825cc'.
Steps / Code to reproduce the problem:
Example repo: https://github.com/altso/PollySeven
arphox, AlexBroitman and shagilt
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4