Wenn Sie in Visual Studio ein neues C# -Projekt erstellen, enthält die generierte Datei AssemblyInfo.cs ein Attribut, das eine Baugruppen-GUID angibt. Der Kommentar über dem Attribut gibt an, dass es verwendet wird, "wenn dieses Projekt COM ausgesetzt ist".AssemblyInfo.cs: Ist es sinnvoll, Guid bei der Verwendung von ComVisible (false) anzugeben?
Keine meiner Baugruppen enthalten Typen, die für COM sichtbar sein müssen, daher habe ich meine Baugruppe mit [assembly: ComVisible(false)]
markiert. Ist es sinnvoll, eine GUID anzugeben?
Mein Gefühl ist, dass die Antwort "nein" ist - also warum enthält die Standard-Datei AssemblyInfo.cs sowohl [assembly: ComVisible(false)]
als auch [assembly: Guid("...")]
?
Edit:
antwortet Zusammengefasst:
Zwischen ihnen erklären die Antworten, die eine GUID Angabe ist erforderlich, wenn und nur wenn COM-Interop verwendet wird. Also, in meiner Situation ist eine GUID nicht notwendig.
sharptooth erklärt weiter, dass [assembly: ComVisible(false)]
nicht bedeutet, nicht COM-Interop zu verwenden, da es möglich ist, ComVisible
für einzelne Typen zu überschreiben. Aus diesem Grund enthält der Standard AssembyInfo.cs sowohl [assembly: ComVisible(false)]
als auch eine GUID.
Es hat eine ziemlich große [verwenden] (http://stackoverflow.com/q/11403333/712526) für einen eigenständigen Webserver, der ein SSL-Zertifikat benötigt – jpaugh
@jpaugh: Nicht sicher, wir sprechen über die gleiche Sache. – Josh
Ich bin mir nicht ganz sicher, ich selbst; Aber ich musste die GUID aus den Assembly-Informationen verwenden, um das Szenario zum Laufen zu bringen (siehe den unteren Teil meiner Antwort auf dieser Seite.) Meine (vorläufige) Schlussfolgerung ist, dass Windows eine COM-Schnittstelle verwendet, um eine SSL-Bindung zu "machen" eine bestimmte App. – jpaugh