Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

SQL Server :CREATE ASSEMBLY pour l'assembly 'Test' a échoué car l'assembly 'Test' est malformé ou n'est pas un assembly .NET pur.

Il est impossible de charger un assembly C++/CLI en mode mixte dans SQL Server.

Vous ne pouvez charger qu'un assembly C++/CLI "pur" :

Cependant, il peut y avoir un moyen de contourner cela. Utilisez P/Invoke dans votre fichier C#. Cela équivaut à écrire un wrapper d'assemblage C++/CLI en mode mixte, car lorsque CLR le code appelle native code dans votre assemblage, il effectue un P/Invoke implicite (faites-moi savoir si cela fonctionne pour vous).

Pourquoi le serveur SQL empêche-t-il le chargement des assemblys en mode mixte ?

Voici ma théorie :

Si quelqu'un de l'équipe de conception originale de Microsoft peut remplir les blancs, je serais très curieux !