erstellen Ich habe eine Verpflichtung, wo ich im klassischen ASPActiveX-Komponente kann Objekt nicht COM-Interop
so habe ich ein sehr einfaches Klasse-Projekt in C# Projekt eine Base64-Codierung auf einem Bild verwenden und versuchen, es zu machen COM sichtbar, Ich habe alle Anleitungen und verschiedene andere Fragen zu Stackoverflow gelesen, aber ich kann immer noch nicht VBScript zum Erstellen des Objekts
Die Baugruppe ist als ComVisible gekennzeichnet und die Ausgabe ist markiert, um für COM-Interop, meine Quelle zu registrieren für die Klasse:
namespace Crypto
{
[ComVisible(true)]
[Guid("ad491fe9-ade0-46a1-bae0-d407a987a9e9"),ClassInterface(ClassInterfaceType.None)]
public class Base64
{
public Base64() {
//default com exposable constructor
}
public string Base64Encode(string filePath) {
if (!File.Exists(filePath)) return "";
using (Image image = Image.FromFile(filePath))
{
using (MemoryStream m = new MemoryStream())
{
image.Save(m, image.RawFormat);
byte[] imageBytes = m.ToArray();
// Convert byte[] to Base64 String
string base64String = Convert.ToBase64String(imageBytes);
return base64String;
}
}
}
}
}
Nach Build, ich es als ComInterop registrieren und sowieso in GAC setzt in, mit
regasm *<file path>* /codebase /tlb
gacutil -i *<file path>*
alles erfolgreich Register
, wenn ich von einem Test klassischen Asp-Seite
set obj = CreateObject("Crypto.Base64")
ich
bekommen nennenMicrosoft VBScript runtime error '800a01ad'
ActiveX component can't create object: 'Crypto.Base64'
Ich habe mit ComInterop vor ca. 7-8 Jahren in .Net 2.0, ev gearbeitet erything funktionierte reibungslos, ich kann
Auf meiner Dev-Maschine in diesem Fall nicht verstehen, was falsch ist, ist es Windows 10 pro 64-Bit-Ziel Compilation 4.6.2 Rahmen
Dies sollte helfen - [Fehler ASP 0177: 8007007e Server.CreateObject für COM DLL fehlschlägt] (// stackoverflow.com/a/35985827) * (speziell - "Wie COM DLL mit Windows registrieren" Abschnitt) *. – Lankymart
Mögliches Duplikat von [Fehler ASP 0177: 8007007e Server.CreateObject schlägt für COM DLL fehl] (http://stackoverflow.com/questions/35976543/error-asp-0177-8007007e-server-createobject-fails-for-com-dll) – Lankymart