РЕШЕНО Rust не видит стороннюю dll

Хостинг игровых серверов

Wasdik

Новичек
17 Май 2019
8
0
41
Добрый день. Пытаюсь разобраться с написанием плагинов для RUST. Раньше с C# не приходилось работать. Вопрос к специалистам. Пытаюсь в плагине подключить библиотеку Google.Cloud.Dialogflow.V2.dll. Положил её в папку \RustDedicated_Data\Managed. Ребутнул сервер. В плагине прописываю:
Код:
using Google.Cloud.Dialogflow.V2;
В результате при компиляции получаю ошибку:
The type or namespace name `Google' could not be found. Are you missing an assembly reference?

На гитхабе нашел несколько проектов, где так же прописано, как и у меня. Попробовал докинуть ещё библиотек гугла:
Google.Apis.Core.dll, Google.Apis.dll, Grpc.Core.dll (встречал что их тоже используют в некоторых проектах), но от этого ничего не поменялось.

При этом видел, что библиотеки Oxide.Ext.Discord.dll и Oxide.Ext.RustIO.dll работают без дополнительных манипуляций. Может кто-то подсказать, что я делаю не так? Или проблема всё-таки в имени dll-ки?
 

Aliluya

Прохожий
20 Окт 2018
259
79
Попробуй добавить референс в начало плагина
 

itmeero

Прохожий
4 Июл 2018
69
10
33
Добрый день. Пытаюсь разобраться с написанием плагинов для RUST. Раньше с C# не приходилось работать. Вопрос к специалистам. Пытаюсь в плагине подключить библиотеку Google.Cloud.Dialogflow.V2.dll. Положил её в папку \RustDedicated_Data\Managed. Ребутнул сервер. В плагине прописываю:
Код:
using Google.Cloud.Dialogflow.V2;
В результате при компиляции получаю ошибку:


На гитхабе нашел несколько проектов, где так же прописано, как и у меня. Попробовал докинуть ещё библиотек гугла:
Google.Apis.Core.dll, Google.Apis.dll, Grpc.Core.dll (встречал что их тоже используют в некоторых проектах), но от этого ничего не поменялось.

При этом видел, что библиотеки Oxide.Ext.Discord.dll и Oxide.Ext.RustIO.dll работают без дополнительных манипуляций. Может кто-то подсказать, что я делаю не так? Или проблема всё-таки в имени dll-ки?
Может быть поможет:
1. "Contrary to plugins, extensions may not be hot loaded and require a server restart for every update."
2. "You'd need to make sure the extension is built for .NET 4.6 or lower."
 

Kaidoz

вышел покурить
Разработчик С#
Обитатель
Прохожий
4 Фев 2018
330
208
vk.com
Добрый день. Пытаюсь разобраться с написанием плагинов для RUST. Раньше с C# не приходилось работать. Вопрос к специалистам. Пытаюсь в плагине подключить библиотеку Google.Cloud.Dialogflow.V2.dll. Положил её в папку \RustDedicated_Data\Managed. Ребутнул сервер. В плагине прописываю:
Ля, перед написанием плагина можно было хоть немного разобраться в библиотеках, да и целом изучить шарп, дабы уберечь форум от простых(и максимально тупых) вопросов по шарпу. Название библиотеки ! = Название пространства, вот и весь прикол.
 
  • Like
Реакции: Ryamkk

Wasdik

Новичек
17 Май 2019
8
0
41
Ля, перед написанием плагина можно было хоть немного разобраться в библиотеках, да и целом изучить шарп, дабы уберечь форум от простых(и максимально тупых) вопросов по шарпу. Название библиотеки ! = Название пространства, вот и весь прикол.
Спасибо за ваш ответ.
Вы в этом уверены? Так как dotPeek меня убеждает в обратном:
namespace Google.Cloud.Dialogflow.V2
 

Wasdik

Новичек
17 Май 2019
8
0
41
Проясню немножко ситуацию: Visual Studio притензий к плагину не имеет, все библиотеки видит, в том числе и dialogflow. А вот сам компилятор раста категорически отказывается принимать такой плагин. Может ли быть что раст подключает не все библиотеки из папки manage? А только определенный список? Немного смущает, что библиотеки discord и rustio имеют ииеня файлов типа oxide.ext.discord.dll. Это меня и наталкивает на мысль, что раст не все имена кушает. Может кто-то подтвердить или опровегнуть данную теорию? Спасибо.
 

Wasdik

Новичек
17 Май 2019
8
0
41
Насколько я понял: любую библиотеку раст не подгружает. Нужно написать свое расширение для оксида (как Oxide.Ext.Discord и Oxide.Ext.RustIO) и уже из него обращаться к сторонней библиотеке.
 

Wasdik

Новичек
17 Май 2019
8
0
41
Набросал такое расширение. Раст его загружает, но при этом перестает работать загрузчик плагинов оксида. Пытаюсь понять в чем причина.
 

Wasdik

Новичек
17 Май 2019
8
0
41
Оказалось, что проблема была в:
public override bool IsGameExtension => true;
Изменил в расширении на:
public override bool IsGameExtension => false;
... и расширение заработало.
Спасибо всем, кто откликнулся.

Не нашел как изменить статус темы на "Решено".