Ошибка Microsoft Sharepoint CSOM: не найден конструктор по умолчанию для типа Microsoft.SharePoint.Client.ContentTypeIdAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Ошибка Microsoft Sharepoint CSOM: не найден конструктор по умолчанию для типа Microsoft.SharePoint.Client.ContentTypeId

Сообщение Anonymous »

Если я пропустил что-то очевидное, пожалуйста, прошу совета.
Я подозреваю, что это связано с эталонными сборками.
Я использую Unity 3D для приложения Android, которое взаимодействует с SharePoint Online.
После обновления Unity 2022.3.2f1 до 2023.2.10f1 я получаю сообщение об ошибке:
Конструктор по умолчанию не найден для типа Microsoft.SharePoint.Client.ContentTypeId
Ошибка возникает при попытке прочитать список SharePoint.
Ошибка отображается только в Android Logcat при построении на устройстве (среда выполнения).

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

2024/02/22 14:18:19.515 21552 21581 Error Unity MissingMethodException: Default constructor not found for type Microsoft.SharePoint.Client.ContentTypeId
2024/02/22 14:18:19.515 21552 21581 Error Unity   at System.RuntimeType.CreateInstanceMono (System.Boolean nonPublic, System.Boolean wrapExceptions) [0x00000] in :0
2024/02/22 14:18:19.515 21552 21581 Error Unity   at Microsoft.SharePoint.Client.ScriptTypeMap.CreateObjectFromScriptType (System.String scriptType, Microsoft.SharePoint.Client.ClientRuntimeContext context) [0x00000] in :0
2024/02/22 14:18:19.515 21552 21581 Error Unity   at Microsoft.SharePoint.Client.JsonReader.ReadJsonObject (System.Type fallbackType) [0x00000] in :0
2024/02/22 14:18:19.515 21552 21581 Error Unity   at Microsoft.SharePoint.Client.JsonReader.ReadKeyValue () [0x00000] in :0
2024/02/22 14:18:19.515 21552 21581 Error Unity   at Microsoft.SharePoint.Client.ListItem.InitNonPropertyFieldFromJson (System.String peekedName, Microsoft.SharePoint.Client.JsonReader reader) [0x00000] in :0
2024/02/22 14:18:19.515 21552 21581 Error Unity   at Microsoft.SharePoint.Client.ClientObject.FromJson (Microsoft.SharePoint.Client.JsonReader reader) [0x00000]

Проект успешно импортирован и обновлен (насколько я могу судить)
Он прекрасно работает в редакторе Unity в Windows.
Ошибка возникает только тогда, когда он «встроен» в устройство Android.
Другие функции SharePoint, такие как загрузка/загрузка файла, получение списка онлайн-папок или запись в список SharePoint, работают.
Единственная проблема — при попытке прочитать список SharePoint.
Весь этот код работал ранее более года и до сих пор работает в «старой» сборке.

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

  public static void ReadListItem(string site, string listName, string camlViewXml)
{

clientContext = GetNewClientContext(site);
Microsoft.SharePoint.Client.List myList = clientContext.Web.Lists.GetByTitle(listName);
CamlQuery camlQuery = new CamlQuery();
camlQuery.ViewXml = camlViewXml;
tempListColl = myList.GetItems(camlQuery);

clientContext.Load(tempListColl);

try
{
clientContext.ExecuteQuery();
}
catch (WebException ex)
{
Debug.Log("List Update stopped:" + ex.Message);

}
catch (ServerException ex) { Debug.Log("List Update stopped:" + ex.Message); return; }

}
Ошибка также возникает при вызове из асинхронной задачи.
Этот код отлично работает в старой версии Unity с .Net Standard 2.0Код работает нормально и запускается в самом редакторе Unity.
В новом редакторе (который поддерживает только .net Standard 2.1) он создает ошибку при сборке и запуске на устройство.
Я считаю, что это как-то связано со ссылками и зависимостями .dll, а также с тем, что у некоторых есть проблемы со стандартом 2.1.
Я не вижу никаких упоминаний об ошибке где-либо еще. Насколько я могу судить из документации Microsoft, эта функция по-прежнему должна работать в библиотеке CSOM.
Ошибка возникает при попытке просто получить элемент списка SharePoint, что на самом деле является первым шагом.
Я использовал Nuget для обновления пакетов, но проблема не устранена. Если я не сделал здесь что-то не так?

Подробнее здесь: https://stackoverflow.com/questions/780 ... pe-microso
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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