правильная компиляция C# библиотеки

  • Автор темы Автор темы Memory
  • Дата начала Дата начала

Memory

Client
Регистрация
20.11.2017
Сообщения
8
Реакции
4
Баллы
3
Доброе утро, появилась следующая проблема - не могу понять, как правильно скомпилировать и подключить свою библиотеку к зенке
Скачал, скомпилировал в VS, закинул в External Assamblies, подключил в GAC, подключаю к директиве using и выпадает следующее сообщение:

Компиляция кода Ошибка в действии "CS0246" "The type or namespace name 'MegaApiClient' could not be found (are you missing a using directive or an assembly reference?)". [Строка: 1; Cтолбец: 18]

Код из документации https://gpailler.github.io/MegaApiClient/articles/samples.html

C#:
Развернуть Свернуть Копировать
void Main()
{
  var client = new MegaApiClient();
  client.Login("username@domain.com", "passw0rd");

  // GetNodes retrieves all files/folders metadata from Mega
  // so this method can be time consuming
  IEnumerable<INode> nodes = client.GetNodes();

  INode parent = nodes.Single(n => n.Type == NodeType.Root);
  DisplayNodesRecursive(nodes, parent);

  client.Logout();
}

void DisplayNodesRecursive(IEnumerable<INode> nodes, INode parent, int level = 0)
{
  IEnumerable<INode> children = nodes.Where(x => x.ParentId == parent.Id);
  foreach (INode child in children)
  {
    string infos = $"- {child.Name} - {child.Size} bytes - {child.CreationDate}";
    Console.WriteLine(infos.PadLeft(infos.Length + level, '\t'));
    if (child.Type == NodeType.Directory)
    {
      DisplayNodesRecursive(nodes, child, level + 1);
    }
  }
}

70487
70488


Если есть возможность - отправьте пожалуйста пример шаблона с кодом из документации, но если нету - то и простой подсказки будет достаточно, спасибо :-)
 
Выглядит рабочим с коробки...
C#:
Развернуть Свернуть Копировать
using Newtonsoft.Json;
using CG.Web.MegaApiClient;
 

Вложения

  • mega.zip
    mega.zip
    159,4 KB · Просмотры: 156
  • mega.xmlz
    mega.xmlz
    14,4 KB · Просмотры: 150
  • Спасибо
Реакции: Memory
Работает, спасибо!
Под каждым сообщением в правом углу есть соответствующая кнопочка "Спасибо" для таких случаев :)

Осталось понять как из общего кода данные в переменную вывести...
Относительно проброса переменных в общий код посмотрите например здесь, или опишите задачу более подробно (не ясно какую переменную куда выводить - начальная задача была о том, чтобы запустить в Зенно демо-пример).

Как пример - в общем коде создаем метод:
Метод в общем коде, принимает на вход какую-то строку:
Развернуть Свернуть Копировать
public class CommonCode { // этот класс обычно уже создан

  public static string Temp (string line){ // Создаем метод, который принимает на вход строку, возвращает назад обработанную строку
    // какая-то обработка
    line += " BimBom"; // Добавим к входящей строке какое-то слово
    return line; // возвращаем значение
  }
}

Пример вызова метода в кубике
Вызов метода с общего кода (получаем обработанную строку):
Развернуть Свернуть Копировать
string temp_line = "Hi!"; // создаем какую-то переменную с текстом Hi
temp_line = CommonCode.Test(temp_line); // Обрабатываем строку, возвращаем назад в переменную
return temp_line; // возвращаем обработанную строку с кубика
На выходе будет что-то вроде Hi BimBom.
Может быть данный пример поможет разобраться, как извлечь с общего кода переменную (и как её туда пробросить).
 
  • Спасибо
Реакции: Memory

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)