Probleme d' interopérabilité

[Résolu]
Signaler
Messages postés
68
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
19 janvier 2010
-
Messages postés
68
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
19 janvier 2010
-
Amis développeurs, bonjour,

j'ai un petit souci, je n'arrive pas a utilisé une DLL que j'ai créer dans mon programme, c'est un petit programme tt simple mai cela ne fonctionne pas voici le code de ma dll :

using System
;
using System
.Collections
.Generic
;
using System
.Drawing
;
using System
.Windows
.Forms
;

namespace CSharp

{
      public partial class Our_csharp

      {
            public object Montre()
            {
                     object functionReturnValue
= null
;
                     MessageBox
.Show("Message box");
                     return functionReturnValue
;
            }
      }
}

et le 1er code test de mon programme qui l'utilise :

using System
;
using System
.Collections
.Generic
;
using System
.Runtime
.InteropServices
;




public




class
Csharpapply


{
      [

DllImport

(
"CSharp.dll"
)]


      public

static extern
object

Montre

();




      public

static
void

Main

() 
      {

            Our_csharp c

=

new
Our_csharp

();

            c

.

Montre

();
      }
} et le 2eme code test :





using

System

;


using

System

.
Collections

.
Generic

;


using

System

.
Runtime

.
InteropServices

;
usingCSharp



public

class
Csharpapply


{


      public

static
void

Main

() 
      {

            Our_csharp c

=

new
Our_csharp

();

            c

.

Montre

();
      }
} A la compilation il me dit qu'il ne connait pas CSharp dans les 2 cas.

J'utilise SharpDevelop (logiciel gratuit) et tout ce que je trouve me parle de visual studio.
Pouvez-vous m'aider SVP?

3 réponses

Messages postés
68
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
19 janvier 2010

La reponse est toute bête je suis tomber dessus par hasard, ce n'est pas clique droit sur le dossier reference dans ton projet, mais c'est dans Projet-->Ajouter une référence, puis dans Browser d'assemblies .NET on selectionne la dll qu'il faut voila c'est bête mais peut-être que ca va aider quelq'un d'autre.

Merci quand même pour ton aide Lutinor.

Bonne prog a tous
Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
41
Salut.. tu confonds plusieurs choses, DllImport c'est pour utiliser les libs écrites en code natif, rien à voir avec ta  DLL codée en C#. Le 2ème code est bon mais en plus de la close using il faut aussi rajouter dans ton projet une référence vers ta librairie, clique droit sur le dossier reference dans ton projet.
Messages postés
68
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
19 janvier 2010

même en mettant la dll en reference, il me dit:
 The type or namespace name 'CSharp' could not be find (are you missing a using directive or an assembly reference?)
  faut-il que je signe l'assembly et si oui a quoi ca sert????