Подключение Библиотеки VkNet

Valentin1144

Client
Регистрация
12.11.2019
Сообщения
29
Благодарностей
16
Баллы
3
Весь день пробую подключить библиотеку VkNet.dll, но никак не выходит, подскажите что делаю неправильно пожалуйста.
Скачиваю эту библиотеку с нугета https://www.nuget.org/packages/VkNet
Распаковываю, беру версию для netstandart 2.0
Также оттуда же скачаваю все зависимости и зависимости-зависимостей. До последней связанной библиотеки.
Все беру для netstandart 2.0
Зависимости.png


Все складываю в Progs\ExternalAssemblies
Подключаю все в ссылки из GAC
Ссылки из Gac.JPG


Туда же подключаю библиотеку netstandard

Прописываю Юзинги и В общий код пространства Имен, тут возникает первая проблема, что пространства имен часто до конца не видит зеннопостер, я имею ввиду, что библиотека к примеру System.Runtime.CompilerServices.Unsafe.dll , а пространство имен видит только System.Runtime.CompilerServices
Не знаю, возможно зависимости и не нужно прописывать, если возможно поясните этот момент. У меня вот так:
Директивы Using
Директивы Using.JPG


Общий код:

Общий код.JPG


В итоге создаю просто экземпляр класса и вот такая ошибка сразу.
VkNet.JPG


Хотя как выше видно, эту библиотеку я прописал везде и добавил в ссылки из GAC.
Подскажите где туплю, что попробовать еще? Заранее спасибо.
 

Valentin1144

Client
Регистрация
12.11.2019
Сообщения
29
Благодарностей
16
Баллы
3
По такому же принципу подключил Magic.Net Все прекрасно работает.
Еще что заметил:
Сама библиотека Microsoft.Extensions.DependencyInjection.Abstractions.dll есть и подключена.
А самого пространства имен using Microsoft.Extensions.DependencyInjection.Abstractions; нету!
Как подключить не понятно.
есть либо using Microsoft.Extensions.DependencyInjection;
либо using Microsoft.Extensions.DependencyInjection.Extensions;

Попытался сам прописать using Microsoft.Extensions.DependencyInjection.Abstractions;
Пишет:
Компиляция кода Ошибка в действии "CS0234" "Ошибка в директивах using. The type or namespace name 'Abstractions' does not exist in the namespace 'Microsoft.Extensions.DependencyInjection' (are you missing an assembly reference?)". [Строка: 8; Cтолбец: 48]

Поэтому вопрос, а как его собственно подключить, в этом наверно корень проблемы.
 

Ахилес

Client
Регистрация
11.11.2020
Сообщения
924
Благодарностей
377
Баллы
63
ну раз даже компилятор VS не смог собрать это решение под .NET Framework 4.6.2. , то значит не судьба :bn:
\packages\Microsoft.Extensions.DependencyInjection.Abstractions.7.0.0\buildTransitive/netcoreapp2.0/Microsoft.Extensions.DependencyInjection.Abstractions.targets

под .NET 7.0 все прекрасно собирается

113650
 

radv

Client
Регистрация
11.05.2015
Сообщения
3 693
Благодарностей
1 872
Баллы
113
  • Спасибо
Реакции: eee

samsonnn

Client
Регистрация
02.06.2015
Сообщения
1 660
Благодарностей
1 332
Баллы
113
нужна версия под .NET Framework 4.6.2/4.7.2
тут не библиотека нужна под зенку, а зенка под .NET 6 как минимум, а лучше под .NET 7 уже на подходе .NET 8
Ждите 8-ю версию зенки тогда все будет летать...
 

radv

Client
Регистрация
11.05.2015
Сообщения
3 693
Благодарностей
1 872
Баллы
113
тут не библиотека нужна под зенку, а зенка под .NET 6 как минимум, а лучше под .NET 7 уже на подходе .NET 8
Ждите 8-ю версию зенки тогда все будет летать...
Ну 8 версию не известно сколько ждать. я предложил вариант для текущих версий зенно
 

Ахилес

Client
Регистрация
11.11.2020
Сообщения
924
Благодарностей
377
Баллы
63

radv

Client
Регистрация
11.05.2015
Сообщения
3 693
Благодарностей
1 872
Баллы
113
в каком смысле предложил, если там нет такого варианта ? :ap:
Сам то понял что написал? или у тебя dll версии не для .NET Framework 4,7 а для других работают? Критикуешь предлагай, или слабо? :ap:
 

Ахилес

Client
Регистрация
11.11.2020
Сообщения
924
Благодарностей
377
Баллы
63
Сам то понял что написал? или у тебя dll версии не для .NET Framework 4,7 а для других работают? Критикуешь предлагай, или слабо? :ap:
А сам то понял, что выдал ? Прежде чем нести фигню, зашел бы для начала по ссылке на гитхаб, да посмотрел бы.

113737


где тут .NET Framework 4.7 ? что у тебя работает под .NET Framework 4.7 ?

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

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 383
Благодарностей
3 305
Баллы
113

Ахилес

Client
Регистрация
11.11.2020
Сообщения
924
Благодарностей
377
Баллы
63
  • Спасибо
Реакции: samsonnn

Dr.Pipetka

Client
Регистрация
12.12.2017
Сообщения
1 252
Благодарностей
811
Баллы
113
  • Спасибо
Реакции: samsonnn

samsonnn

Client
Регистрация
02.06.2015
Сообщения
1 660
Благодарностей
1 332
Баллы
113

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 383
Благодарностей
3 305
Баллы
113
Вынести не проблема... проблема как проекты продавать, с таким выносом, что бы не спи.... , не сперли эту самую логику :ap:
Либо используйте готовое как есть, либо пробуйте иные варианты.

Просто мысль, .net framework ещё позволяет поднимать дополнительные домены приложения, м.б. в них можно поселить современный рантайм...
Ну, часть людей используют зенку исключительно для защиты проектов... С таким подходом она просто не нужна)
Способы защиты не ограничены постером.
это шутка такая?
Мало кому нужна разработка серьёзных проектов, на быстротухнущих версиях фреймворка.
 

Dr.Pipetka

Client
Регистрация
12.12.2017
Сообщения
1 252
Благодарностей
811
Баллы
113
Защита не ограничивается постером.
Ну насколько я знаю, софт на c# очень легко декомпилировать. И пару раз даже сам ковырялся в чужом коде. Вот с зашитой библиотекой в шаблон уже не все так открыто. Понятно что это не дает 100% защиты, но удобно прятать из коробки.
Буду благодарен подсказке о защите софта на шарпе.
 

Ахилес

Client
Регистрация
11.11.2020
Сообщения
924
Благодарностей
377
Баллы
63
Ну насколько я знаю, софт на c# очень легко декомпилировать. И пару раз даже сам ковырялся в чужом коде. Вот с зашитой библиотекой в шаблон уже не все так открыто. Понятно что это не дает 100% защиты, но удобно прятать из коробки.
Буду благодарен подсказке о защите софта на шарпе.
не подскажет. потому что более менее нормальная защита кода начинается от 1000$ за лицензию... и то, судя по обзорам, там встречается такие поделки, которые взламываются за пару минут по шаблонам.
короче, ждем 8-ки.... если выйдет, будет хорошо... не выйдет... пойдем к конкурентам. так было, так есть и так будет :bn:
 
  • Спасибо
Реакции: samsonnn

samsonnn

Client
Регистрация
02.06.2015
Сообщения
1 660
Благодарностей
1 332
Баллы
113

Zedx

Client
Регистрация
12.06.2018
Сообщения
1 194
Благодарностей
827
Баллы
113
Ну насколько я знаю, софт на c# очень легко декомпилировать. И пару раз даже сам ковырялся в чужом коде. Вот с зашитой библиотекой в шаблон уже не все так открыто. Понятно что это не дает 100% защиты, но удобно прятать из коробки.
Буду благодарен подсказке о защите софта на шарпе.
Для C# есть обфускаторы кода, но бесплатных решений не нашёл.
 

Dr.Pipetka

Client
Регистрация
12.12.2017
Сообщения
1 252
Благодарностей
811
Баллы
113

Zedx

Client
Регистрация
12.06.2018
Сообщения
1 194
Благодарностей
827
Баллы
113
Ну будет непонятен код для человека, использовать то он его сможет.
Можно написать простейший HWID генератор (ещё проще найти готовый на гитхабе) и сделать привязку к железу своего ехе, плюс сверху обфускация, чтобы сложнее было разобраться как обойти.
 

Dr.Pipetka

Client
Регистрация
12.12.2017
Сообщения
1 252
Благодарностей
811
Баллы
113
Можно написать простейший HWID генератор (ещё проще найти готовый на гитхабе) и сделать привязку к железу своего ехе, плюс сверху обфускация, чтобы сложнее было разобраться как обойти.
Я думаю что во времена нейронок, обфускация кода станет почти не эффективна.
 

Dr.Pipetka

Client
Регистрация
12.12.2017
Сообщения
1 252
Благодарностей
811
Баллы
113
Затестил деобфускацию на примере js через чатгпт:-)
Первая ссылка из поиска https://www.obfuscator.io/.
Оригинальный код:
JavaScript:
// Paste your JavaScript code here
function hi() {
  console.log("Hello World!");
}
hi();
Обфуцированный код:
JavaScript:
function _0x58bf(){var _0x387a20=['log','96215BRZMQa','40401mexKUj','218667wSahww','13lFPWcZ','2048KzeHVN','48CncEht','4493330wWuflD','28677770QbAlnQ','974918mSBpCS','228GsQWYC','147520scDEGb'];_0x58bf=function(){return _0x387a20;};return _0x58bf();}function _0x5ce7(_0x57230b,_0x56a63b){var _0x58bf64=_0x58bf();return _0x5ce7=function(_0x5ce79a,_0x2bff56){_0x5ce79a=_0x5ce79a-0xe9;var _0x251c44=_0x58bf64[_0x5ce79a];return _0x251c44;},_0x5ce7(_0x57230b,_0x56a63b);}(function(_0x386048,_0x269745){var _0x4bdd87=_0x5ce7,_0x36ea6d=_0x386048();while(!![]){try{var _0x3abcf=parseInt(_0x4bdd87(0xed))/0x1*(parseInt(_0x4bdd87(0xf4))/0x2)+-parseInt(_0x4bdd87(0xec))/0x3+-parseInt(_0x4bdd87(0xf3))/0x4*(parseInt(_0x4bdd87(0xea))/0x5)+parseInt(_0x4bdd87(0xef))/0x6*(-parseInt(_0x4bdd87(0xf2))/0x7)+parseInt(_0x4bdd87(0xee))/0x8*(-parseInt(_0x4bdd87(0xeb))/0x9)+parseInt(_0x4bdd87(0xf0))/0xa+parseInt(_0x4bdd87(0xf1))/0xb;if(_0x3abcf===_0x269745)break;else _0x36ea6d['push'](_0x36ea6d['shift']());}catch(_0x2de7c8){_0x36ea6d['push'](_0x36ea6d['shift']());}}}(_0x58bf,0x8e217));function hi(){var _0x465d86=_0x5ce7;console[_0x465d86(0xe9)]('Hello\x20World!');}hi();
Приведи этот JS код в понятный для человека вид. Удали все лишнее и выдай самый короткий вариант. function _0x58bf() { var _0x387a20 = ['log', '96215BRZMQa', '40401mexKUj', '218667wSahww', '13lFPWcZ', '2048KzeHVN', '48CncEht', '4493330wWuflD', '28677770QbAlnQ', '974918mSBpCS', '228GsQWYC', '147520scDEGb']; _0x58bf = function() { return _0x387a20; }; return _0x58bf(); } function _0x5ce7(_0x57230b, _0x56a63b) { var _0x58bf64 = _0x58bf(); return _0x5ce7 = function(_0x5ce79a, _0x2bff56) { _0x5ce79a = _0x5ce79a - 0xe9; var _0x251c44 = _0x58bf64[_0x5ce79a]; return _0x251c44; }, _0x5ce7(_0x57230b, _0x56a63b); }(function(_0x386048, _0x269745) { var _0x4bdd87 = _0x5ce7, _0x36ea6d = _0x386048(); while (!![]) { try { var _0x3abcf = parseInt(_0x4bdd87(0xed)) / 0x1 * (parseInt(_0x4bdd87(0xf4)) / 0x2) + -parseInt(_0x4bdd87(0xec)) / 0x3 + -parseInt(_0x4bdd87(0xf3)) / 0x4 * (parseInt(_0x4bdd87(0xea)) / 0x5) + parseInt(_0x4bdd87(0xef)) / 0x6 * (-parseInt(_0x4bdd87(0xf2)) / 0x7) + parseInt(_0x4bdd87(0xee)) / 0x8 * (-parseInt(_0x4bdd87(0xeb)) / 0x9) + parseInt(_0x4bdd87(0xf0)) / 0xa + parseInt(_0x4bdd87(0xf1)) / 0xb; if (_0x3abcf === _0x269745) break; else _0x36ea6d['push'](_0x36ea6d['shift']()); } catch (_0x2de7c8-) { _0x36ea6d['push'](_0x36ea6d['shift']()); } } }(_0x58bf, 0x8e217)); function hi() { var _0x465d86 = _0x5ce7; console[_0x465d86(0xe9)]('Hello\x20World!'); } hi();
Ответ:
JavaScript:
function hi() {
    console.log('Hello World!');
}
hi();
А это нейронка универсальная, не заточенная под код. А что будет творить гпт4 турбо? А капилот?
OpenAI на презентации DevDay показали революцию в мире ИИ — анонсирован GPT-4-Turbo. ИИ лучше и дешевле старой модели.

Основное с презентации:

— Новая модель GPT-4-Turbo, во всем лучше и быстрее обычного GPT-4
Увеличили длину промтов до 128 тысяч токенов — это 365 страниц обычной книги
— Все модели ChatGPT теперь будут в одном чате, нейросеть будет сама догадываться, чего вы от нее хотите
— Добавили возможность загружать свои документы
— ИИ теперь может писать ответы в JSON-формате
— Интерфейс серьезно обновили с упором на минимализм.
— Анонсировали GPTs — персональных ботов, заточенных под определенную задачу. При этом их можно создавать прямо в диалоге с ChatGPT без строчки кода. При этом вы сможете пользоваться другими ботами, которые запостят юзеры.
— Всем этим можно управлять голосом и получать ответы также голосом.
Длинна промтов позволит много обрабатывать. Думаю эра обфускации прошла.
Сорри за оффтоп, просто разговор к этому подошел и интересно было порассуждать.
 

Valentin1144

Client
Регистрация
12.11.2019
Сообщения
29
Благодарностей
16
Баллы
3
В общем после 4х дней проб, к сожалению не получилось запустить ни какую версию VkNet. Перепробовал почти все старые версии, некоторые запускаются, начинают работать, но при вызове к примеру метода авторизации: Снова похожая ошибка с зависимостями, хотя все они скачаны и подключены. 8 то конечно все ждут, ну судя что после анонса прошло больше года, а толком инфы до сих пор нету, не думаю что они до конца 24 выпустят что-то.

Старые версии есть с поддержкой ниже .NET Framework 4.7 , но увы, разобраться с зависимостями не удалось.

Придется свои методы писать, но если все таки кто-то знает как это подключить и работал так, напишите, думаю очень многим будет полезно!
 

Zedx

Client
Регистрация
12.06.2018
Сообщения
1 194
Благодарностей
827
Баллы
113
В общем после 4х дней проб, к сожалению не получилось запустить ни какую версию VkNet. Перепробовал почти все старые версии, некоторые запускаются, начинают работать, но при вызове к примеру метода авторизации: Снова похожая ошибка с зависимостями, хотя все они скачаны и подключены. 8 то конечно все ждут, ну судя что после анонса прошло больше года, а толком инфы до сих пор нету, не думаю что они до конца 24 выпустят что-то.

Старые версии есть с поддержкой ниже .NET Framework 4.7 , но увы, разобраться с зависимостями не удалось.

Придется свои методы писать, но если все таки кто-то знает как это подключить и работал так, напишите, думаю очень многим будет полезно!
У меня была пара проектов, зависимости которых не хотели дружить с зенкой. Пришлось собрать в отдельном ехе и запускать уже его из зенки.
 
  • Спасибо
Реакции: Yuriy Zymlex

radv

Client
Регистрация
11.05.2015
Сообщения
3 693
Благодарностей
1 872
Баллы
113

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 383
Благодарностей
3 305
Баллы
113
Старые версии есть с поддержкой ниже .NET Framework 4.7 , но увы, разобраться с зависимостями не удалось.
Они как раз и нужны (.NETStandard 2.0).

В постере Newtonsoft.Json 13.0.1, а вам требуется как зависимость: 13.0.3, что в текущей ситуации требует, либо просто выбрать предыдущую версию VkNet,
либо поправить и собрать самому VkNet, учитывая, что правки Newtonsoft минимальны, там не должно быть проблем. иначе остаётся ждать, пока в след. версии постера обновят зависимость
либо остаётся правка постера, замену dll и прописка новой версии в *.exe.config конфиг, но это самый проблемный вариант.

Я напомнил разработчикам, что неплохо бы обновить, учитывая, что различия минимальны,
но подобные, небольшие проекты легко и быстро обновляют зависимости,

в крупных же есть дела поважнее, чем каждый день чекать не изменилось ли у 1-ой из десятков зависимостей patch версия
и потом разбираться, из-за кода или из-за обновлённых зависимостей возник n-ый баг.
 
Последнее редактирование:

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