Я тестирую и пытаюсь понять, как создать DLL и вызвать функцию из нее в моем проекте Silverlight. Я получаю исключение: не удается найти точку входа с именем «WriteTextFile» в DLL «C: \ temp \ TestDLL.dll». Так что я делаю что-то не так.
Вот мой код для очень простой DLL:
Imports System.IO
Public Class Class1
Private Shared dir As String = "C:\TEMP"
Private Shared file As String = "TestDLL.txt"
Public Shared Sub WriteTextFile()
Using wr As New StreamWriter(System.IO.Path.Combine(dir, file))
wr.WriteLine("Call to function WriteTextFile()")
End Using
End Sub
End Class
И вот что я делаю в своем Silverlight:
Imports System.Runtime.InteropServices
Partial Public Class MainPage
Inherits UserControl
<DllImport("C:\temp\TestDLL.dll")> _
<AllowReversePInvokeCalls()> _
Friend Shared Sub WriteTextFile()
End Sub
Public Sub New()
InitializeComponent()
End Sub
Private Sub Button1_Click(sender As System.Object, e As System.Windows.RoutedEventArgs) Handles Button1.Click
WriteTextFile()
End Sub
End Class
Мне нужно немного указать правильное направление:)
Часть AllowReversePInvokeCalls - это то, что я попробовал после прочтения в Интернете, но это ничего не изменило. Также я попытался установить EntryPoint в DLLImport, но он тоже ничего не делает.
Edit:
Я попробовал эту DLL и pinvoke в обычном приложении WPF, и я получаю ту же ошибку, так что это не связано с Silverligth. Может быть, тогда в моей DLL?