Aplikacja zarządzana Visual C ++: nie można znaleźć punktu wejścia o nazwie „Dodaj”
Po utworzeniu samouczka na następnej stronie utworzyłem bibliotekę DLL c ++ i umieściłem ją w folderze System32:http://msdn.microsoft.com/en-us/library/ms235636%28v=vs.80%29.aspx. Mogę uruchomić plik .exe z dowolnego miejsca na komputerze. Teraz chcę móc zadzwonić do Add z aplikacji VB.NET, więc dodałem następujący kod:
Imports System.Runtime.InteropServices
Public Class Form1
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Try
Dim Test As Integer
Test = Add(1, 1)
MsgBox(Test)
Catch ex As Exception
End Try
End Sub
<DllImport("MathFuncsDll.dll", EntryPoint:="Add", SetLastError:=True, CharSet:=CharSet.Ansi)> _
Private Shared Function Add(ByVal a As Double, ByVal B As Double) As Double
End Function
End Class
Otrzymuję następujący błąd: Nie można znaleźć punktu wejścia o nazwie „Dodaj” w bibliotece DLL „MathFuncsDll.dll”. Wierzę, że to z powodu przestrzeni nazw. Sprawdziłem tę i niektóre strony internetowe, mówiąc, że przestrzenie nazw nie są dozwolone w Platform Invoke, a niektóre strony internetowe mówią, że są dozwolone. Jaki jest problem?