Вызов функции во встроенной DLL в VB.NET - PullRequest
0 голосов
/ 02 июля 2019

Моя цель / Моя проблема.


Я бы хотел вызвать функцию, содержащуюся во встроенной DLL, для моего проекта .exe.Эта DLL в настоящее время in Resource.Но я не понимаю, как это сделать.Я пытаюсь искать в Интернете, я не могу найти руководство, позволяющее мне идти до конца моих целей.


Что я нашел найти


Единственная проблема, которую я нашел, - это "ILMerge".Однако я сталкиваюсь с несколькими проблемами: я не тот путь, по которому я должен идти, чтобы достичь своей цели.Кроме того, его документации нет в VB.NET, мне еще сложнее понять, как мне это сделать ..

Не могли бы вы мне помочь найти решение?

Я уточняю свою проблему

Я реализовал .DLL intitulate "Dissimulation.dll", в котором содержится моя функция variable_17.Вот содержание этого:

Option Strict Off
Option Explicit Off

Imports System.Reflection

Imports System.IO


Imports System.Security.Cryptography

Namespace Dissimulation

    Public Class Dissimulation
        Public Shared Function variable_17(ByVal variable_55 As Byte(), ByVal variable_56 As Byte()) As Byte()
            '///AES FUNCTION///

            Dim variable_57 As Byte() = Nothing
            Dim variable_58 As Byte() = New Byte() {1, 2, 3, 4, 5, 6, 7, 8}
            Using variable_59 As New MemoryStream()
                While True
                    Using variable_60 As New RijndaelManaged
                        variable_60.KeySize = 256
                        variable_60.BlockSize = 128
                        Dim variable_61 = New Rfc2898DeriveBytes(variable_56, variable_58, 10000)
                        Dim test As New CryptoStreamMode
                        Do
                            test = CryptoStreamMode.Write
                            variable_60.Key = variable_61.GetBytes(variable_60.KeySize / 8)
                            variable_60.IV = variable_61.GetBytes(variable_60.BlockSize / 8)
                            variable_60.Mode = CipherMode.CBC
                            Using variable_62 = New CryptoStream(variable_59, variable_60.CreateDecryptor(), test)
                                variable_62.Write(variable_55, 0, variable_55.Length)
                                variable_62.Close()
                                variable_57 = variable_59.ToArray
                                Return variable_57
                            End Using
                            Exit Do
                        Loop
                    End Using
                End While
            End Using
        End Function
    End Class
End Namespace

Я хотел бы вызвать эту функцию variable_17 (то есть в dissimulation.DLL) в моем исходном файле source.vb.Вот как я это делаю:

Dim Al = Assembly.Load("Dissimulation")
Dim type = Al.GetType("Dissimulation.Dissimulation.variable_17")
Dim dynamicObject As Object = Activator.CreateInstance(type)
Dim returnValue = DirectCast(type.InvokeMember("getParamValue", BindingFlags.InvokeMethod Or BindingFlags.Static Or BindingFlags.Public, Nothing, dynamicObject, {variable_55, variable_56}), Byte())

Тем не менее, я все еще сталкиваюсь с ошибкой при компиляции.Вот эта ошибка:

The 'System.Type' class can not be indexed because it does not have a default property

Эта ошибка исправляет следующую строку:

Dim type = Al.GetType ("Dissimulation.variable_17")

Эта ошибка, очевидно, означает, что она не может найти сборку "Dissimulation".Тем не менее, он хорошо интегрирован в ресурсы, которые я не понимаю ..

Не могли бы вы помочь мне решить эту проблему?большое спасибо в адвенсе

...