Autor Beitrag
IsabelleZimmermann
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 54



BeitragVerfasst: Mi 26.09.18 09:53 
Hallo zusammen,

ich habe folgendes Problem: Ich habe zwei Dateien in Microsoft Visual Studio. Eine Datei StepByStepClient.cs und eine Datei Program.cs.
Bei Kompilieren wird nur die Datei Program.cs kompiliert. Die erste Datei mit der RFC-Funktionalität von SAP wird nicht kompiliert.
Ohne Fehlermeldung oder sonstige Meldung.

Keine Ahnung warum. habe schon das SDK von der RFC-Bibliothek heruntergeladen, aber es funktioniert immer noch nicht.
Hoffe, dass mir jemand weiterhelfen kann.

Danke.

Viele Grüße,
Isabelle


Moderiert von user profile iconTh69: Topic aus C# - Die Sprache verschoben am Mi 26.09.2018 um 10:05
Moderiert von user profile iconTh69: Titel geändert ("Bekomme keine Daten" entfernt, da es sich [nur] um ein Problem mit dem Aufsetzen des Projektes handelt.)
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4063
Erhaltene Danke: 843

Win7
C++, C# (VS 2015/17)
BeitragVerfasst: Mi 26.09.18 10:10 
Hallo und :welcome:,

überprüfe mal die Eigenschaften der Datei im "Solution Explorer" (Kontextmenü: Eigenschaften / Properties).
Steht dort als "Build Action": "Compile"?
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4434
Erhaltene Danke: 909


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Mi 26.09.18 11:27 
Könntest du ein bisschen weiter ausholen? So ohne mehr Details ließt sich das merkwürdig.
Wenn es nicht kompiliert du aber keine Fehlermeldung bekommst heißt das das die Datei auch nicht benutz wird. Sonst würde irgendwas anderes knallen weil Dinge aus dieser Klasse/Datei fehlen.
Wenn es keine Fehlermeldung gibt woher weißt du das die nicht kompiliert wurde? Deine Überschrift klingt auch eher nach einem funktionalen Problem das nichts damit zu tun hat ob da was kompiliert oder nicht.
IsabelleZimmermann Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 54



BeitragVerfasst: Mi 26.09.18 11:33 
user profile iconTh69 hat folgendes geschrieben Zum zitierten Posting springen:
Hallo und :welcome:,

überprüfe mal die Eigenschaften der Datei im "Solution Explorer" (Kontextmenü: Eigenschaften / Properties).
Steht dort als "Build Action": "Compile"?


Wie komme ich denn auf Eigenschaften/Properties in der Datei? Ich bin vorher unter Debugging/Optionen gegangen. Gibt es dort auch einen Solution Explorer?

Moderiert von user profile iconTh69: Beiträge zusammengefasst

user profile iconRalf Jansen hat folgendes geschrieben Zum zitierten Posting springen:
Könntest du ein bisschen weiter ausholen? So ohne mehr Details ließt sich das merkwürdig.
Wenn es nicht kompiliert du aber keine Fehlermeldung bekommst heißt das das die Datei auch nicht benutz wird. Sonst würde irgendwas anderes knallen weil Dinge aus dieser Klasse/Datei fehlen.
Wenn es keine Fehlermeldung gibt woher weißt du das die nicht kompiliert wurde? Deine Überschrift klingt auch eher nach einem funktionalen Problem das nichts damit zu tun hat ob da was kompiliert oder nicht.


Ich sehe es an der Consolenausgabe, dass die Datei nicht kompiliert wurde. Weil nur die Consolenausgabe der anderen Datei erscheint.
Ja, ich denke die Datei wird nicht benutzt. Aber ich verstehe eben nicht warum.
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4063
Erhaltene Danke: 843

Win7
C++, C# (VS 2015/17)
BeitragVerfasst: Mi 26.09.18 12:00 
Ich meine so wie im 2. Bild: Visual studio solution explorer not showing form cs file (es geht mir nur um das Bild mit dem Kontextmenü, der eigentliche Beitrag ist hierfür irrelevant).

Auf deutsch heißt der "Solution Explorer" m.E. "Projektmappenverwaltung" oder so ähnlich.

PS: Und gestern hatte ich unter Bilder werden nicht angezeigt einen Link zu dem Eigenschaftsfenster (u.a. "Build Action") gepostet.

Ansonsten: Was für einen Projekttyp hast du denn (Konsole, WinForms, WPF)?
IsabelleZimmermann Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 54



BeitragVerfasst: Mi 26.09.18 13:20 
Achso, danke. Ich hab den Projekttyp Konsole. Die Projektmappenverwaltung hab ich gefunden und da hab ich auch die 2. Datei "StepByStepClient.cs" jetzt eingefügt.
Das kompilieren funktioniert jetzt soweit.
Allerdings hab ich noch sehr viele Fehler, weil wahrscheinlich eine Bibliothek fehlt.

Solche Ausdrücke wie RfcDestination und RefcDestinationManager werden nicht gefunden.

Was kann ich da tun?

Moderiert von user profile iconTh69: Vollzitat entfernt.
Moderiert von user profile iconTh69: C#-Tags hinzugefügt
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4063
Erhaltene Danke: 843

Win7
C++, C# (VS 2015/17)
BeitragVerfasst: Mi 26.09.18 14:01 
Dir geht es um die Integration des "SAP .NET Connectors"?
Dann schau mal in den (englischen) Beitrag Step by step tutorial to use SAP. net Connector with VS 2008 - besonders unter "Referencing", d.h. du benötigst wohl noch die Verweise auf die externen Assemblies (DLLs) - "Add Reference" heißt auf deutsch dann "Verweis hinzufügen".
IsabelleZimmermann Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 54



BeitragVerfasst: Mi 26.09.18 14:28 
user profile iconTh69 hat folgendes geschrieben Zum zitierten Posting springen:
Dir geht es um die Integration des "SAP .NET Connectors"?
Dann schau mal in den (englischen) Beitrag Step by step tutorial to use SAP. net Connector with VS 2008 - besonders unter "Referencing", d.h. du benötigst wohl noch die Verweise auf die externen Assemblies (DLLs) - "Add Reference" heißt auf deutsch dann "Verweis hinzufügen".


Ich hab das Dokument angeschaut aber leider kann ich die entsprechenden Verweise sapnco.dll und sapnco_utils.dll nicht in mein Projekt hinzufügen.
Wenn ich auf Verweise hinzufügen gehe und dann auf suchen wird "sap.." nicht gefunden.
IsabelleZimmermann Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 54



BeitragVerfasst: Mi 26.09.18 15:09 
Moderiert von user profile iconTh69: Vollzitat entfernt.
Einloggen, um Attachments anzusehen!
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4434
Erhaltene Danke: 909


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Mi 26.09.18 15:29 
Laut deinem Bild hast du die dll's als Datei hinzugefügt und nicht als Verweis. Die muss schon als Verweis unter dem entsprechenden Verweis-Knoten im Projektmappen-Explorer auftauchen damit das zur Designzeit gefunden und benutzt werden kann. Versuch dich nochmal an der "Verweis hinzufügen" Methode die du im Kontextmenü des Verweis-Knotens im Projektmappen-Explorer finden solltest.
IsabelleZimmermann Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 54



BeitragVerfasst: Mi 26.09.18 15:49 
Danke. Weisst du zufällig noch in welcher Bibliothek ich das Objekt TidStore finde?
Dann hab ich alle Fehler beseitigt.

Moderiert von user profile iconTh69: Vollzitat entfernt.
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4063
Erhaltene Danke: 843

Win7
C++, C# (VS 2015/17)
BeitragVerfasst: Mi 26.09.18 17:43 
Ich finde leider auch keine Hinweise auf TidStore im Internet (außer ein paar lesegeschützte Dokumente).
Aber laut SAP Integration with .Net 4.0 (SAP Connection Manager) gibt es wohl noch die "SAPConnectionManager.dll".

PS: Und bitte keine Vollzitate hier verwenden, sondern wenn dann relevante Teilzitate, danke. Unten links gibt es den "Antworten"-Button ohne Zitieren.


Zuletzt bearbeitet von Th69 am Do 27.09.18 08:28, insgesamt 1-mal bearbeitet
IsabelleZimmermann Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 54



BeitragVerfasst: Do 27.09.18 07:39 
Danke.

ich werden den SAPConnectionManager.dll herunterladen.
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4063
Erhaltene Danke: 843

Win7
C++, C# (VS 2015/17)
BeitragVerfasst: Do 27.09.18 08:27 
Sorry, ich war gestern wohl noch etwas neben der Spur (bin erkältet gewesen).

Ich dachte die "SAPConnectionManager.dll" gehört auch zum SAP SDK, aber diese ist ja eine selbstgeschriebene Komponente des Autors des Artikels.

Aber unter SAP Connector for Microsoft .NET gibt es auch ein "Programming Guide" und wenn ich darin die Sätze
Zitat:
The methods ExampleTrfcClient() and ExampleBgrfcClient() plus their related helper methods and helper classes illustrate a quite complex example of how to achieve end-
to-end transactional security. For understanding the logic of tRFC/qRFC/bgRFC calls, you don’t need to understand, how the TidStore class works internally. Just consider it as a “poor man’s database”, that was added in order to be able to show a fully functional command line example. However, in your own applications you should let a different class based on a real database take over that task.

...

The tutorial ZIP archive provides a code sample (StepByStepClient.cs) showing how to implement a .Net Connector RFC client program performing the following steps: ...
richtig verstehe, dann ist das einfach eine Klasse aus diesem Beispielcode (und die du dann bei einer realen Anwendung durch eine echte Datenbank-Anbindung ersetzen solltest).

In der Tutorial-ZIP-Datei befindet sich dann auch die Klasse "TidStore.cs" (die du also auch lokal schon haben solltest, da du ja die "StepByStepClient.cs" verwendest)...
IsabelleZimmermann Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 54



BeitragVerfasst: Do 27.09.18 10:49 
Also ich habe jetzt die Tid.cs eingebunden und habe jetzt beim Kompilieren keinen Fehler.

Allerdings zur Laufzeit bekomme ich den Ausnahmefehler, dass die Bibliothek sapnco.dll nicht gefunden wird.

Wie binde ich die Bibliotheken richtig ein?
Unter dem Projektmappenverzeichnis rechts sind sie schon hinzugefügt.

ich schicke mal einen screenshot von meiner Ordnerstruktur des Projekts im Explorer. Vielleicht muss ich da noch was ändern?
Einloggen, um Attachments anzusehen!
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4434
Erhaltene Danke: 909


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Do 27.09.18 11:01 
Warum liegen die Abhängigkeiten in einem lib Ordner unterhalb des Ausgabeordners? Zur Laufzeit gibt es für die Net Runtime erstmal keinen Grund da rein zu schauen außer du hast in den Lademechanismus der Runtime eingegriffen und diesem gesagt das es neben den üblichen Stellen (Programm Ordner, aktueller Ordner, Path, GAC etc.) auch dort seine Abhängigkeiten suchen sollen.

Das Standardverhalten von .Net ist erstmal die Abhängigkeiten die mit der Anwendung verteilt werden müssen im gleichen Ordner zu halten wie die eigentliche Applikation (Ausnahme Ressourcen/Satelliten Assemblies).
IsabelleZimmermann Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 54



BeitragVerfasst: Do 27.09.18 11:12 
Soll ich dann gar keine Bibliotheken in den Projektordner stellen?
Auch nicht unterhalb des Projektordners? Siehe Bild.
Den lib ordner unterhalb des Ausgabeordners hab ich jetzt gelöscht.
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4434
Erhaltene Danke: 909


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Do 27.09.18 11:17 
Der Projektordner ist zur Laufzeit egal. Aber die Abhängigkeiten die du benötigst liegen entweder bereits an einem Ort der automatisch durchsucht wird zum Auflösen der Abhängigkeiten oder du solltest die direkt in den Anwendungsordner kopieren. Während der Entwicklung ist das der Projektausgabeordner der standardmäßig bin heißt. Die Sachen die du nach bin/lib geschoben hast sollten also eher direkt in bin liegen.
IsabelleZimmermann Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 54



BeitragVerfasst: Do 27.09.18 11:38 
Wie finde ich denn heraus, ob es einen Ort gibt der automatisch wird zum Auflösen der Abhängigkeiten?
Vielleicht fehlt ja dort noch die Bibliothek sapnco.dll?


Wenn ich das richtig verstehe, ist der Anwendungsordner der Projektausgabeordner der standardmäßig bin heißt.
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4063
Erhaltene Danke: 843

Win7
C++, C# (VS 2015/17)
BeitragVerfasst: Do 27.09.18 13:55 
Du hast doch die beiden DLLs "sapnco.dll" und "sapnco_utils.dll" als Verweis zu deinem Projekt hinzugefügt. Schau mal in die Eigenschaften dieser beiden Dateien, wie "Copy to Output Directory" eingestellt ist - stelle es mal für beide Dateien auf "Copy, if newer" (dann werden sie automatisch beim Kompilieren in den Ausgabeordner "bin" kopiert, wenn nicht schon vorhanden).

PS: Auf deutsch, da du ja laut Screenshot ein deutsches VS benutzt (auch wenn man als Entwickler besser die englische Version benutzt): "Ins Ausgabenverzeichnis kopieren" -> "Kopieren, wenn neuer".