Gurke258
Level-2
- Beiträge
- 69
- Reaktionspunkte
- 3
-> Hier kostenlos registrieren
Hallo zusammen,
ich habe aktuell ein Problem auf Arbeit mit dem ich nicht wirklich weiter komme. Habe ein Projekt vom Kollegen übernommen in dem ich mit einem MQTT-Server kommunizieren soll.
Zu dem Problem:
Die MQTT Bibliothek läuft nur ab Framework 4.5.2 und das Projekt lief bis jetzt nur unter Framework 3.5. Ich habe also die Framwork-Version hoch gesetzt und kann jetzt das Programm nicht mehr mit VS 2017 debuggen und auch die .exe nicht mehr öffnen.
Hier mal der Code-Ausschnitt von dem Abschnitt, in dem die Exeption auftritt:
Der Inhalt der Exception lautet:
Die verwendeten Bibliothelen sind Interop.OPCAutomation.dll und Interop.OPCSiemensDAAutomation.
Kann es sein das diese Bibiliotheken das neue Framework nicht unterstützen? Wäre für Hilfe dankbar.
Ps. Ja ich weiß das in diesem Projekt VB6 & VB.Net gemischt sind. Habe allerdings keine Zeit das komplett neu zu schreiben und bitte euch daher nicht so kritisch zu sein
EDIT:
Ich habe jetzt folgende Codezeilen online gefunden welche ich in die app.config eingefügt habe und damit habe ich den Fehler nicht mehr, doch leider habe ich nicht verstanden was diese bedeuten ;/
ich habe aktuell ein Problem auf Arbeit mit dem ich nicht wirklich weiter komme. Habe ein Projekt vom Kollegen übernommen in dem ich mit einem MQTT-Server kommunizieren soll.
Zu dem Problem:
Die MQTT Bibliothek läuft nur ab Framework 4.5.2 und das Projekt lief bis jetzt nur unter Framework 3.5. Ich habe also die Framwork-Version hoch gesetzt und kann jetzt das Programm nicht mehr mit VS 2017 debuggen und auch die .exe nicht mehr öffnen.
Hier mal der Code-Ausschnitt von dem Abschnitt, in dem die Exeption auftritt:
Code:
'öffentliche Variablen OPC
Public Itemhandle_Visu As Array
Public WithEvents ServerObj As OPCServer
Public WithEvents GroupObjvisu As OPCGroup
Public WithEvents GroupsObjvisu As OPCGroups
Public WithEvents GroupData As OPCGroup
Public WithEvents GroupsData As OPCGroups
Public ItemData As OPCItem
Public Itemhandle_Data As Object
Public Sub Schreibe_OPC_ID(ByVal OPC_Wert As Object, ByVal OPC_ID As Object)
Dim Dims() As Integer = New Integer() {1}
Dim Bounds() As Integer = New Integer() {1}
Dim Serverhandles As Array = Array.CreateInstance(GetType(Integer), Dims, Bounds)
Dim MyErrors As Array = Array.CreateInstance(GetType(Integer), Dims, Bounds)
Dim MyValues As Array = Array.CreateInstance(GetType(Object), Dims, Bounds)
Try
' Initialize
Serverhandles.SetValue(Itemhandle_Visu(OPC_ID), 1)
MyErrors.SetValue(0, 1)
MyValues.SetValue(OPC_Wert, 1)
[B]GroupObjvisu.SyncWrite(1, Serverhandles, MyValues, MyErrors)[/B]
'Edit_WriteRes.Text = ServerObj.GetErrorString(MyErrors(1))
Exit Sub
'ErrorHandler:
' MsgBox(Err.Description & Chr(13), MsgBoxStyle.Critical, "ERROR")
Catch
MsgBox("Kommunikationsfehler" & Chr(13) & "ID " & OPC_ID, MsgBoxStyle.Critical, "Fehler Schreibe ID")
End Try
End Sub
Der Inhalt der Exception lautet:
Code:
System.AccessViolationException: "Es wurde versucht, im geschützten Speicher zu lesen oder zu schreiben. Dies ist häufig ein Hinweis darauf, dass anderer Speicher beschädigt ist."
Die verwendeten Bibliothelen sind Interop.OPCAutomation.dll und Interop.OPCSiemensDAAutomation.
Kann es sein das diese Bibiliotheken das neue Framework nicht unterstützen? Wäre für Hilfe dankbar.
Ps. Ja ich weiß das in diesem Projekt VB6 & VB.Net gemischt sind. Habe allerdings keine Zeit das komplett neu zu schreiben und bitte euch daher nicht so kritisch zu sein
EDIT:
Ich habe jetzt folgende Codezeilen online gefunden welche ich in die app.config eingefügt habe und damit habe ich den Fehler nicht mehr, doch leider habe ich nicht verstanden was diese bedeuten ;/
Code:
<runtime>
<legacyCorruptedStateExceptionsPolicy enabled="true"/>
</runtime>
Zuletzt bearbeitet: