Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1898 connectés 

  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  Casse-tête... Class Library C++/CLI vers C#?

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Casse-tête... Class Library C++/CLI vers C#?

n°1981343
Gigathlon
Quad-neurones natif
Posté le 06-04-2010 à 18:57:47  profilanswer
 

Bonjour à tous et à toutes, et merci de visiter ce thread :o
 
Je viens de me remettre sur VS2008 avec pour objectif de réimplémenter des classes actuellement en C# en code natif, et depuis hier je me bats avec mon nonos...
 
Après plusieurs essais dans tous les sens, le plus intéressant/propre semble être de réaliser une classe de wrapping en C++/CLI autour des classes natives, mais après plusieurs essais pour créer une classe de test j'obtiens toujours le même message d'erreur:
 

Citation :

Impossible de charger le fichier ou l'assembly 'TestDLL2, Version=1.0.3748.31611, Culture=neutral, PublicKeyToken=null' ou une de ses dépendances. Tentative de chargement d’un programme de format incorrect.


 
 
J'ai par acquis de conscience tenté de reproduire l'appli de test dans un projet C++, et étrangement, elle fonctionne.
 
Tout ça pour en arriver à la grande question: y a-t-il quelque chose d'anormal dans ce code?
 

Code :
  1. // TestDLL.cpp
  2. public ref class TestClass
  3. {
  4. public:
  5.     static bool TestFunc()
  6.     {
  7.         return true;
  8.     }
  9. };
  10.  
  11. // TestApp.cpp
  12.  
  13. int main(array<System::String ^> ^args)
  14. {
  15.     Console::WriteLine(TestClass::TestFunc().ToString());
  16.     Console::ReadLine();
  17.     return 0;
  18. }
  19.  
  20.  
  21. // TestApp.cs
  22.  
  23. static void Main(string[] args)
  24. {
  25.      Console.WriteLine(TestClass.TestFunc().ToString());
  26.      Console.ReadLine();
  27. }


 
Etant donné que les 2 "IHM" font exactement la même chose, tout du moins en théorie, et que seule celle réalisée en C++ quel pourrait être le problème? (note: dans les 2 cas il est fait référence au projet de la DLL contenu dans la même solution)

mood
Publicité
Posté le 06-04-2010 à 18:57:47  profilanswer
 

n°1981588
Gigathlon
Quad-neurones natif
Posté le 07-04-2010 à 14:33:50  profilanswer
 

Du nouveau...
 
Ca fonctionne bel et bien avec l'appli test C#, mais à l'unique condition de compiler avec /clr:safe, ce qui est loin de m'arranger sachant que je veux du code natif derrière.
 
Sinon, y a-t-il une solution "propre" pour réaliser une DLL COM? Le wizard me pond un paquet de fichiers sans vraiment expliquer quoi que ce soit.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  Casse-tête... Class Library C++/CLI vers C#?

 

Sujets relatifs
[C] Aide pour mon Puissance 4 ! =)La fonction Translate me donne des maux de tête!!!
Extraire une ligne d'une page web vers un fichier texteComment compiler un fichier C#
Divers questions en CExporter un tableau Excel 2007 vers Access
[C] Récuperer le nom d'un fichier zipTransfert de données d'une feuille excel vers un tableau VBA
lire un fichier .mat en C[Oracle 10G] Données vers fichier Excel
Plus de sujets relatifs à : Casse-tête... Class Library C++/CLI vers C#?


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR