1 pièce(s) jointe(s)
VS2022 création d'une Dll pour VBA - erreur regasm
Bonjour,
Je souhaite réaliser une Dll pour VBA, pour l'instant je souhaite simplement envoyer des valeurs à une méthode de la Dll et qu'elle me renvoie le résultat.
J'ai suivi la page MS suivante :
https://learn.microsoft.com/en-us/do...ng-com-objects
J'ai bien coché l'option COM dans les préférences du projet.
Voici le code VB de mon test :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| Imports System.Runtime.InteropServices
<ComClass(ComClass1.ClassId, ComClass1.InterfaceId, ComClass1.EventsId)>
<ComVisible(True)>
Public Class ComClass1
#Region "COM GUIDs"
Public Const ClassId As String = "E3C9AB19-7696-42A9-B934-F687E18C6E3A"
Public Const InterfaceId As String = "12642CF7-5F75-437D-974D-58825811C40F"
Public Const EventsId As String = "1E4CB5DE-9875-42BE-A8DE-EDFE4E49A04B"
#End Region
Public Sub New()
MyBase.New()
End Sub
<ComVisible(True)>
Public Function Addition(valeur1 As Double, valeur2 As Double) As Double
Addition = valeur1 + valeur2
End Function
End Class |
La Dll est créé mais il y a une erreur lors du regasm :
Pièce jointe 633790
VS2022 et la ligne de commande pour lancer le regasm sont lancé en mode administrateur.
J'ai lancé un MsBuild, en voici le résultat :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| MSBuild version 17.4.1+9a89d02ff for .NET Framework
Les projets sont gnrs individuellement dans cette solution. Pour activer la gnration en parallle, ajoutez le commutateur "-m".
La gnration a dmarr 06/02/2023 13:24:02.
Projet "D:\MyDotNetProjects\repos\ClassLibrary1\ClassLibrary1.sln" sur le noud 1 (cibles par dfaut).
ValidateSolutionConfiguration:
Gnration de la configuration de solution "Debug|Any CPU".
Le projet "D:\MyDotNetProjects\repos\ClassLibrary1\ClassLibrary1.sln" (1) gnre "D:\MyDotNetProjects\repos\ClassLibrary1\ClassLibrary1\ClassLibrary1.vbproj" (2) sur le noud 1 (cibles par dfaut).
GenerateTargetFrameworkMonikerAttribute:
La cible est ignore "GenerateTargetFrameworkMonikerAttribute", car tous les fichiers de sortie sont à jour par rapport aux fichiers d'entre.
CoreGenerateAssemblyInfo:
La cible est ignore "CoreGenerateAssemblyInfo", car tous les fichiers de sortie sont à jour par rapport aux fichiers d'entre.
CoreCompile:
La cible est ignore "CoreCompile", car tous les fichiers de sortie sont à jour par rapport aux fichiers d'entre.
GenerateBuildDependencyFile:
La cible est ignore "GenerateBuildDependencyFile", car tous les fichiers de sortie sont à jour par rapport aux fichiers d'entre.
CopyFilesToOutputDirectory:
ClassLibrary1 -> D:\MyDotNetProjects\repos\ClassLibrary1\ClassLibrary1\bin\Debug\net6.0\ClassLibrary1.dll
Gnration du projet "D:\MyDotNetProjects\repos\ClassLibrary1\ClassLibrary1\ClassLibrary1.vbproj" termine (cibles par dfaut).
Gnration du projet "D:\MyDotNetProjects\repos\ClassLibrary1\ClassLibrary1.sln" termine (cibles par dfaut).
La gnration a russi.
0 Avertissement(s)
0 Erreur(s)
Temps coul 00:00:00.61 |
J'ai fait pas mal de recherche sur le NET, j'ai dû passer à côté d'un truc.
Cordialement,