Hallo,
ich versuche schon seit Tagen meine c# dll aus einem C-programm zu nutzen ohne registry aber erfolglos.
mit registry geht.
ohne registry kommt es zu einer fehlemeldung wenn der client gestartet wird.
ich have folgende links schon angeschaut und versucht schritt oper schritt aber erfolglos:
http://msdn.microsoft.com/en-us/library/ms973915.aspx
http://jwbs-blog.blogspot.com/2009/0...onents_16.html
Ereigniseanzeige:
Fehler beim Generieren des Aktivierungskontextes für "Pfad\Client.exe.Manifest". Die abhängige Assemblierung "QuoteSource,type="win32",version="1.0.0.0"" konnte nicht gefunden werden. Verwenden Sie für eine detaillierte Diagnose das Programm "sxstrace.exe".
mit dem Tool sxstrace:
=================
Startet die Generierung des Aktivierungskontextes.
Eingabeparameter:
Flags = 0
ProcessorArchitecture = x86
CultureFallBacks = de-DE;de;en-US;en
ManifestPath = Pfad\Client.exe
AssemblyDirectory = Pfad\Debug\
Application Config File =
-----------------
INFORMATION: Manifestdatei "Pfad\Client\Debug\Client.exe" wird analysiert.
INFORMATION: Die Manifestsdefinitionsidentität ist "client,type="win32",version="1.0.0.0"".
INFORMATION: Verweis: QuoteSource,type="win32",version="1.0.0.0"
INFORMATION: Verweis "QuoteSource,type="win32",version="1.0.0.0"" wird aufgelöst.
INFORMATION: Für ProcessorArchitecture "QuoteSource,type="win32",version="1.0.0.0"" wird der Verweis aufgelöst.
INFORMATION: Verweis für Kultur "Neutral" wird aufgelöst.
INFORMATION: Bindungsrichtlinie wird angewendet.
INFORMATION: Es wurde keine Bindungsrichtlinienumleitung gefunden.
INFORMATION: Startet die Assemblierungssuche.
INFORMATION: Die Assemblierung in WinSxS wurde nicht gefunden.
INFORMATION: Versuch, ein Manifest unter "Pfad\QuoteSource.DLL" zu finden.
INFORMATION: Versuch, ein Manifest unter "=================
Startet die Generierung des Aktivierungskontextes.
Eingabeparameter:
Flags = 0
ProcessorArchitecture = x86
CultureFallBacks = de-DE;de;en-US;en
ManifestPath = Pfad\Client.exe
AssemblyDirectory =Pfad\Debug\
Application Config File =
-----------------
INFORMATION: Manifestdatei "Pfad\Client.exe" wird analysiert.
INFORMATION: Die Manifestsdefinitionsidentität ist "client,type="win32",version="1.0.0.0"".
INFORMATION: Verweis: QuoteSource,type="win32",version="1.0.0.0"
INFORMATION: Verweis "QuoteSource,type="win32",version="1.0.0.0"" wird aufgelöst.
INFORMATION: Für ProcessorArchitecture "QuoteSource,type="win32",version="1.0.0.0"" wird der Verweis aufgelöst.
INFORMATION: Verweis für Kultur "Neutral" wird aufgelöst.
INFORMATION: Bindungsrichtlinie wird angewendet.
INFORMATION: Es wurde keine Bindungsrichtlinienumleitung gefunden.
INFORMATION: Startet die Assemblierungssuche.
INFORMATION: Die Assemblierung in WinSxS wurde nicht gefunden.
INFORMATION: Versuch, ein Manifest unter "Pfad\QuoteSource.DLL" zu finden.
INFORMATION: Versuch, ein Manifest unter "Pfad\QuoteSource.MANIFEST" zu finden.
INFORMATION: Versuch, ein Manifest unter "Pfad\QuoteSource.DLL" zu finden.
INFORMATION: Versuch, ein Manifest unter "Pfad\QuoteSource.MANIFEST" zu finden.
INFORMATION: Es wurde kein Manifest für die Kultur "Neutral" gefunden.
INFORMATION: Beendet die Assemblierungssuche.
FEHLER: Der Verweis "QuoteSource,type="win32",version="1.0.0.0"" kann nicht aufgelöst werden.
FEHLER: Bei der Generierung des Aktivierungskontextes ist ein Fehler aufgetreten.
Beendet die Generierung des Aktivierungskontextes.
\QuoteSource.MANIFEST" zu finden.
INFORMATION: Versuch, ein Manifest unter "Pfad\QuoteSource.DLL" zu finden.
INFORMATION: Versuch, ein Manifest unter "Pfad\QuoteSource.MANIFEST" zu finden.
INFORMATION: Es wurde kein Manifest für die Kultur "Neutral" gefunden.
INFORMATION: Beendet die Assemblierungssuche.
FEHLER: Der Verweis "QuoteSource,type="win32",version="1.0.0.0"" kann nicht aufgelöst werden.
FEHLER: Bei der Generierung des Aktivierungskontextes ist ein Fehler aufgetreten.
Beendet die Generierung des Aktivierungskontextes.
hier ist der source code
c# dll
und hier der client
ich entwickle unter windows 7 und mit visual studio 2010
für jede Hilfe oder Anregung bin ich sehr dankbar
ich versuche schon seit Tagen meine c# dll aus einem C-programm zu nutzen ohne registry aber erfolglos.
mit registry geht.
ohne registry kommt es zu einer fehlemeldung wenn der client gestartet wird.
ich have folgende links schon angeschaut und versucht schritt oper schritt aber erfolglos:
http://msdn.microsoft.com/en-us/library/ms973915.aspx
http://jwbs-blog.blogspot.com/2009/0...onents_16.html
Ereigniseanzeige:
Fehler beim Generieren des Aktivierungskontextes für "Pfad\Client.exe.Manifest". Die abhängige Assemblierung "QuoteSource,type="win32",version="1.0.0.0"" konnte nicht gefunden werden. Verwenden Sie für eine detaillierte Diagnose das Programm "sxstrace.exe".
mit dem Tool sxstrace:
=================
Startet die Generierung des Aktivierungskontextes.
Eingabeparameter:
Flags = 0
ProcessorArchitecture = x86
CultureFallBacks = de-DE;de;en-US;en
ManifestPath = Pfad\Client.exe
AssemblyDirectory = Pfad\Debug\
Application Config File =
-----------------
INFORMATION: Manifestdatei "Pfad\Client\Debug\Client.exe" wird analysiert.
INFORMATION: Die Manifestsdefinitionsidentität ist "client,type="win32",version="1.0.0.0"".
INFORMATION: Verweis: QuoteSource,type="win32",version="1.0.0.0"
INFORMATION: Verweis "QuoteSource,type="win32",version="1.0.0.0"" wird aufgelöst.
INFORMATION: Für ProcessorArchitecture "QuoteSource,type="win32",version="1.0.0.0"" wird der Verweis aufgelöst.
INFORMATION: Verweis für Kultur "Neutral" wird aufgelöst.
INFORMATION: Bindungsrichtlinie wird angewendet.
INFORMATION: Es wurde keine Bindungsrichtlinienumleitung gefunden.
INFORMATION: Startet die Assemblierungssuche.
INFORMATION: Die Assemblierung in WinSxS wurde nicht gefunden.
INFORMATION: Versuch, ein Manifest unter "Pfad\QuoteSource.DLL" zu finden.
INFORMATION: Versuch, ein Manifest unter "=================
Startet die Generierung des Aktivierungskontextes.
Eingabeparameter:
Flags = 0
ProcessorArchitecture = x86
CultureFallBacks = de-DE;de;en-US;en
ManifestPath = Pfad\Client.exe
AssemblyDirectory =Pfad\Debug\
Application Config File =
-----------------
INFORMATION: Manifestdatei "Pfad\Client.exe" wird analysiert.
INFORMATION: Die Manifestsdefinitionsidentität ist "client,type="win32",version="1.0.0.0"".
INFORMATION: Verweis: QuoteSource,type="win32",version="1.0.0.0"
INFORMATION: Verweis "QuoteSource,type="win32",version="1.0.0.0"" wird aufgelöst.
INFORMATION: Für ProcessorArchitecture "QuoteSource,type="win32",version="1.0.0.0"" wird der Verweis aufgelöst.
INFORMATION: Verweis für Kultur "Neutral" wird aufgelöst.
INFORMATION: Bindungsrichtlinie wird angewendet.
INFORMATION: Es wurde keine Bindungsrichtlinienumleitung gefunden.
INFORMATION: Startet die Assemblierungssuche.
INFORMATION: Die Assemblierung in WinSxS wurde nicht gefunden.
INFORMATION: Versuch, ein Manifest unter "Pfad\QuoteSource.DLL" zu finden.
INFORMATION: Versuch, ein Manifest unter "Pfad\QuoteSource.MANIFEST" zu finden.
INFORMATION: Versuch, ein Manifest unter "Pfad\QuoteSource.DLL" zu finden.
INFORMATION: Versuch, ein Manifest unter "Pfad\QuoteSource.MANIFEST" zu finden.
INFORMATION: Es wurde kein Manifest für die Kultur "Neutral" gefunden.
INFORMATION: Beendet die Assemblierungssuche.
FEHLER: Der Verweis "QuoteSource,type="win32",version="1.0.0.0"" kann nicht aufgelöst werden.
FEHLER: Bei der Generierung des Aktivierungskontextes ist ein Fehler aufgetreten.
Beendet die Generierung des Aktivierungskontextes.
\QuoteSource.MANIFEST" zu finden.
INFORMATION: Versuch, ein Manifest unter "Pfad\QuoteSource.DLL" zu finden.
INFORMATION: Versuch, ein Manifest unter "Pfad\QuoteSource.MANIFEST" zu finden.
INFORMATION: Es wurde kein Manifest für die Kultur "Neutral" gefunden.
INFORMATION: Beendet die Assemblierungssuche.
FEHLER: Der Verweis "QuoteSource,type="win32",version="1.0.0.0"" kann nicht aufgelöst werden.
FEHLER: Bei der Generierung des Aktivierungskontextes ist ein Fehler aufgetreten.
Beendet die Generierung des Aktivierungskontextes.
hier ist der source code
c# dll
Code:
using System; using System.Collections.Generic; using System.Text; namespace QuoteSource { [System.Runtime.InteropServices.Guid("4362B3CA-B747-4F67-B8DA-079EEC0F68F6")] public interface IQuoteProvider { string GetAFunnyQuote(); } [System.Runtime.InteropServices.Guid("8B351C03-A423-4D50-A19C-7672638FE887")] public class QuoteProvider : IQuoteProvider { private string[] _quotes = { "Doing nothing is very hard to do...you never know when you're finished. - Leslie Nielsen", "It's just a job. Grass grows, birds fly, waves pound the sand. I beat people up. - Muhammad Ali", "I like work: it fascinates me. I can sit and look at it for hours. - Jerome K Jerome", "The easiest job in the world has to be coroner. Surgery on dead people. What's the worst thing that could happen? If everything went wrong, maybe you'd get a pulse.- Dennis Miller", "My father taught me to work; he did not teach me to love it.- Abaham Lincol", "Hard work never killed anybody, but why take a chance?- Edgar Berger", "My advice to you is get married: if you find a good wife you'll be happy; if not, you'll become a philosopher.- Socrates", "Love is temporary insanity curable by marriage.- Ambrose Bierce" }; public QuoteProvider() { } public string GetAFunnyQuote() { Random rand = new Random(); return _quotes[rand.Next(_quotes.Length-1)]; } } }
Code:
int _tmain(int argc, _TCHAR* argv[]) { CoInitializeEx(0, COINIT_MULTITHREADED); { IQuoteProviderPtr ptr; HRESULT hr = ptr.CreateInstance(__uuidof(QuoteProvider)); if (SUCCEEDED(hr)) { cout << ptr->GetAFunnyQuote() << endl; } else cout << "COM Error:" << endl; ErrorDescription(hr); char c; cin >> c; } CoUninitialize(); return 0; }
für jede Hilfe oder Anregung bin ich sehr dankbar
Comment