MissingMethodException при установке свойства только для инициализации из другой сборки в библиотеке netstandard2.1, рабC#

Место общения программистов C#
Anonymous
MissingMethodException при установке свойства только для инициализации из другой сборки в библиотеке netstandard2.1, раб

Сообщение Anonymous »

  • Библиотека A нацелена на netstandard2.1 и определяет System.Runtime.CompilerServices.IsExternalInit для включения инициализации.
  • Библиотека A устанавливает свойство только для инициализации для типа из библиотеки B (RestSharp 108), в частности RestRequest.ResponseWriter:

Код: Выделить всё

// 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 выдается следующее исключение:

System.MissingMethodException: метод не найден:
'Void RestSharp.RestRequest.set_ResponseWriter(System.Func`2)'

Код: Выделить всё

// net6 host app / test
Repro.Run();
Отражение показывает, что установщик существует в загруженной сборке RestSharp.
Почему это происходит и как это исправить?>

Подробнее здесь: https://stackoverflow.com/questions/798 ... ssembly-in

Вернуться в «C#»