Autor Beitrag
kiwicht
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 1021

Win 7, MacOS
Delphi x, VBA, PHP, ...
BeitragVerfasst: Fr 07.09.12 16:05 
Hallo zusammen,

ich hab mir folgendes in C#-geschriebenes Projekt heruntergeladen:
sourceforge.net/projects/hpop/

Aus der dort bereits enthaltenen DLL hab ich mit REGASM eine TLB generiert und registriert, um damit in VBA 7.0 arbeiten zu können.

Leider wurde das Projekt für .NET kompiliert und ist somit nicht ohne weiteres in VBA nutzbar. Dazu muss das Projekt für COM kompiliert werden, mit der Option: "register for com interop". Ansonsten kann man die Biblio. zwar registrieren und auch als Objekt in VBA erstellen, aber man hat keinen Zugriff auf irgendwelche Elemente.

Nun will ich mir nicht extra eine C-IDE herunterladen und installieren, nur um mal eben das Projekt neu zu kompilieren, es gibt im Framework-Order von .NET ja zum Glück eine csc.exe um per cmd-zeile zu kompilieren.

Gesagt getan. Nur leider lässt sich mit csc.exe immer nur ein *.cs kompilieren, nicht aber das gesamte Projekt. Jedenfalls finde ich dazu keine Option. Auch /recurse:*.cs funktioniert nicht.

Was kann ich nun tun, um das C#-Projekt für COM neu zu kompilieren um die fertige DLL in eine schicke TLB zu wandeln und diese dann anzuwenden?

ich danke im Voraus!

PS:
Alternativ, wenn das schneller geht, könnt ihr mir auch einfach verraten, wie ich in VBA Mails per POP3-SLL empfangen kann. Senden funktioniert ja über CDO und SMTP wunderbar...warum nur nicht empfangen? Verrückt... ;)
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4708
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Fr 07.09.12 17:01 
Sollte nicht auch MSBuild im Framework Ordner liegen? Damit kannst du die hoffentlich enthaltenen sln oder csproj Dateien zum kompilieren benutzen.
kiwicht Threadstarter
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 1021

Win 7, MacOS
Delphi x, VBA, PHP, ...
BeitragVerfasst: Fr 07.09.12 17:33 
In der Tat - im 2.0`er Framework gibt es MS-Build.

Soweit ich weiß, wurde das Projekt aber mit 4.0 erstellt.

Der Parameter /t:clean schafft es auch vermeintlich fehlerlos zu kompilieren, allerdings entsteht nirgends eine Datei. Alles andere erzeugt nur Zeilenweise Fehelermeldungen, wie zB:
ausblenden Quelltext
1:
2:
3:
    Mime\Header\Received.cs(39,45): error CS0501: OpenPop.Mime.Header.Received.N
ames.get muss einen Körper deklarieren, weil er nicht als "abstract" oder "exter
n" gekennzeichnet ist.
[
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4708
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Fr 07.09.12 18:36 
Zitat:
In der Tat - im 2.0`er Framework gibt es MS-Build.


Im 4er solltest du es eigentlich genau so finden. Das funktioniert dann vermutlich auch besser.
kiwicht Threadstarter
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 1021

Win 7, MacOS
Delphi x, VBA, PHP, ...
BeitragVerfasst: Fr 07.09.12 22:45 
nein, leider nicht. Ich mach mich mal im WWW auf die SUche, vielleicht gibts das ja irgendwo extra...