DLL erstellen mit Interopt

23/09/2008 - 17:34 von Andre Rust | Report spam
Hallo,
ich weiß nicht, wie ich eine DLL erstellen soll die über COM+ von anderen
Programmen aufgerufen werden kann. Ich habe ein kleinnes Proggie geschrieben
aber es klappt einfach nicht. Nur mit .NET kann ich die DLL-Funktionen
sehen. Ich wollte nur die Funktion MonthToInt(..) aufrufen.Wer kann mir
weiterhelfen? Oder mir ein funktionierendes einfaches Beispiel erstellen und
zusenden. Danke.

Gruß

André R.

Class

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Globalization;
using System.Runtime.InteropServices;

namespace efcom_ksv
{
public class Class1
{
public int MonthToInt(string monthName)
{
DateTime datum;
bool ok = DateTime.TryParseExact(monthName,
new string[] { "MMMM", "MMM", "MMM." }, null,
DateTimeStyles.AssumeLocal, out datum);
if (!ok) return 0; else return datum.Month;
}
}
}

AssmeblyInfo

using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;

// Allgemeine Informationen über eine Assembly werden über die folgenden
// Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen
zu àndern,
// die mit einer Assembly verknüpft sind.
[assembly: AssemblyTitle("Efcom KSV Interface")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("efcom")]
[assembly: AssemblyProduct("efcom_ksv")]
[assembly: AssemblyCopyright("Copyright © efcom 2008")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]

// Durch Festlegen von ComVisible auf "false" werden die Typen in dieser
Assembly unsichtbar
// für COM-Komponenten. Wenn Sie auf einen Typ in dieser Assembly von
// COM zugreifen müssen, legen Sie das ComVisible-Attribut für diesen Typ
auf "true" fest.
[assembly: ComVisible(true)]

// Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt
für COM verfügbar gemacht wird
[assembly: Guid("3f8ed3f1-ee38-4c22-a42b-eff4f4cbf98e")]

// Versionsinformationen für eine Assembly bestehen aus den folgenden vier
Werten:
//
// Hauptversion
// Nebenversion
// Buildnummer
// Revision
//
// Sie können alle Werte angeben oder die standardmàßigen Build- und
Revisionsnummern
// übernehmen, indem Sie "*" eingeben:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: ClassInterface(ClassInterfaceType.AutoDual)]
[assembly: AssemblyKeyFile("MyInterop.snk")]
 

Lesen sie die antworten

#1 Andre Rust
24/09/2008 - 13:05 | Warnen spam
Hat sich erledigt.

André R.

"Andre Rust" schrieb im Newsbeitrag
news:%
Hallo,
ich weiß nicht, wie ich eine DLL erstellen soll die über COM+ von anderen
Programmen aufgerufen werden kann. Ich habe ein kleinnes Proggie
geschrieben aber es klappt einfach nicht. Nur mit .NET kann ich die
DLL-Funktionen sehen. Ich wollte nur die Funktion MonthToInt(..)
aufrufen.Wer kann mir weiterhelfen? Oder mir ein funktionierendes
einfaches Beispiel erstellen und zusenden. Danke.

Gruß

André R.

Class

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Globalization;
using System.Runtime.InteropServices;

namespace efcom_ksv
{
public class Class1
{
public int MonthToInt(string monthName)
{
DateTime datum;
bool ok = DateTime.TryParseExact(monthName,
new string[] { "MMMM", "MMM", "MMM." }, null,
DateTimeStyles.AssumeLocal, out datum);
if (!ok) return 0; else return datum.Month;
}
}
}

AssmeblyInfo

using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;

// Allgemeine Informationen über eine Assembly werden über die folgenden
// Attribute gesteuert. Ändern Sie diese Attributwerte, um die
Informationen zu àndern,
// die mit einer Assembly verknüpft sind.
[assembly: AssemblyTitle("Efcom KSV Interface")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("efcom")]
[assembly: AssemblyProduct("efcom_ksv")]
[assembly: AssemblyCopyright("Copyright © efcom 2008")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]

// Durch Festlegen von ComVisible auf "false" werden die Typen in dieser
Assembly unsichtbar
// für COM-Komponenten. Wenn Sie auf einen Typ in dieser Assembly von
// COM zugreifen müssen, legen Sie das ComVisible-Attribut für diesen Typ
auf "true" fest.
[assembly: ComVisible(true)]

// Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses
Projekt für COM verfügbar gemacht wird
[assembly: Guid("3f8ed3f1-ee38-4c22-a42b-eff4f4cbf98e")]

// Versionsinformationen für eine Assembly bestehen aus den folgenden vier
Werten:
//
// Hauptversion
// Nebenversion
// Buildnummer
// Revision
//
// Sie können alle Werte angeben oder die standardmàßigen Build- und
Revisionsnummern
// übernehmen, indem Sie "*" eingeben:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: ClassInterface(ClassInterfaceType.AutoDual)]
[assembly: AssemblyKeyFile("MyInterop.snk")]


Ähnliche fragen