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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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