In Windows 10 kompilierte Probleme
Ich habe ein Problem beim Erstellen von Apps festgestellt, die C: \ Windows \ System32 \ CertEnroll.dll als Referenz verwenden.
Der folgende Code funktioniert einwandfrei, wenn er mit VS 2015 unter Windows 7 kompiliert und dann auf einem Windows 7-Computer ausgeführt wird.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using CERTENROLLLib;
namespace CertTest
{
class Program
{
static void Main(string[] args)
{
try
{
CX509PrivateKey key = new CX509PrivateKey();
key.ContainerName = Guid.NewGuid().ToString();
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
}
}
}
Wenn Sie versuchen, dies in Windows 10 zu kompilieren und es dann auf einem Windows 7-Computer auszuführen, wird der folgende Fehler ausgegeben.
"Das COM-Objekt vom Typ 'System .__ ComObject' konnte nicht in den Schnittstellentyp 'CERTENROLLLib.CX509PrivateKey' umgewandelt werden. Dieser Vorgang ist fehlgeschlagen, weil der Aufruf QueryInterface für die COM-Komponente für die Schnittstelle mit IID '{728AB362-217D-11DA-B2A4-000E7BBBBB2B09 } 'ist aufgrund des folgenden Fehlers fehlgeschlagen: Keine solche Schnittstelle wird unterstützt (Ausnahme von HRESULT: 0x80004002 (E_NOINTERFACE)). "
Ich habe es von mehreren Leuten hier replizieren lassen, und ich möchte weitere Informationen erhalten, bevor ich mich an Microsoft wende.
Ich denke, meine Frage ist: Kann jemand anderes dies bestätigen oder wenn es bestätigt wird, haben sie die Rückwärtskompatibilität gebrochen?