Announcement

Collapse
No announcement yet.

COM+ Dll registrieren

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • COM+ Dll registrieren

    Guten Tag,
    ich habe die folgende Klasse implementiert. Wenn ich die Dll nun erstelle und mit
    regsvcs registriere bekomme ich immer die Fehlermeldung: "Das Format der Datei AuftragCo.dll ist ungültig".
    Kann mir jemand helfen und mir sagen wo hier mein Fehler liegt?

    Code:
    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.EnterpriseServices;
    using System.Runtime.InteropServices;
    
    namespace AuftragCO
    {
        [InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIDispatch)]
        [Guid("1C6D2FE8-C5EA-4d40-AEC1-855888F3E994")]
        public interface IAuftragDatenZugriff
        {
            string GibName();
        }
    
        [ConstructionEnabled(Default="Test"),
    	JustInTimeActivation(true), 
    	EventTrackingEnabled(true),
    	DescriptionAttribute("AuftragDaten"),
    	Guid("581DEEDF-65F7-4043-A910-2B1DBDB2322A"),
        ClassInterface(ClassInterfaceType.AutoDual)]
        public class AuftragDatenZugriff : ServicedComponent, IAuftragDatenZugriff
        {
            public string GibName()
            {
                return "Mein Name ist Hase.";
            }
    
        }
    }

  • #2
    Hallo,

    ..wo hier mein Fehler liegt?
    eine der Grundideen von .NET besteht darin, auf einem Rechner beliebig viele Versionen .NET Frameworks gleichzeitig verwenden zu können. Wenn zum Beispiel das .NET Framework 1.x und 2.0 installiert wurden, gibt es gleich 2 Versionen von regsvcs.exe. Daher muss man beim Aufruf der Kommandozeilen-Tools entweder den Suchpfad vorher auf die benötigten .NET-Frameworkversion anpassen oder besser gleich absolute Pfadnamen für regsvcs.exe verwenden. Denn regsvcs.exe wählt nicht automatisch die passende .NET-Frameworkversion aus, sondern beschwert sich nur in Gestalt der Fehlermeldung über die unverdauliche Assemlby-Struktur.

    Ich verwende einen eigenen Kontextmenü-Eintrag für den Windows Explorer, um im Fenster der Eingabeaufforderung den jeweils "richtigen" Suchpfad festzulegen:

    a) REG-Datei:

    Windows Registry Editor Version 5.00

    [HKEY_CLASSES_ROOT\Directory\shell\oscmdNET20]
    @=".NET Framework 2.0 Eingabeaufforderung"

    [HKEY_CLASSES_ROOT\Directory\shell\oscmdNET20\comma nd]
    @="cmd.exe /k cd %1 && \"C:\\\\Programme\\\\OSNET20Path.bat\""
    b) BAT-Datei:

    Set Path=C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727 \;%PATH%
    Zuletzt editiert von Andreas Kosch; 01.02.2007, 09:46.

    Comment


    • #3
      Hallo,
      vielen danke für die Antwort. Daran hätte ich ja auch mal denken können.

      Comment

      Working...
      X