// netstandard2.1 library A
using RestSharp;
public static class Repro
{
public static void Run()
{
var r = new RestRequest("") { ResponseWriter = null };
}
}
namespace System.Runtime.CompilerServices
{
internal static class IsExternalInit { } // init-only support for rest of my own code inside lib A
}
При выполнении в тестовом/хост-приложении .NET 6 выдается:
[list] [*]Библиотека [b]A[/b] нацелена на netstandard2.1 и определяет System.Runtime.CompilerServices.IsExternalInit для включения инициализации.
[*]Библиотека [b]A[/b] устанавливает [b]свойство только для инициализации[/b] для типа из [b]библиотеки B[/b] (RestSharp 108), в частности RestRequest.ResponseWriter:
[/list] [code]// netstandard2.1 library A
using RestSharp;
public static class Repro { public static void Run() { var r = new RestRequest("") { ResponseWriter = null }; } }
namespace System.Runtime.CompilerServices { internal static class IsExternalInit { } // init-only support for rest of my own code inside lib A } [/code] При выполнении в тестовом/хост-приложении .NET 6 выдается: [code]System.MissingMethodException: Method not found: 'Void RestSharp.RestRequest.set_ResponseWriter(System.Func`2)' [/code] [code]// net6 host app / test Repro.Run(); [/code] Отражение показывает, что установщик существует в загруженной сборке RestSharp. Почему это происходит и как это исправить?