Traduire en C++/CLI pour C#
J'ai une petite à moyenne, projet qui est en C++/CLI. Je déteste vraiment les extensions de syntaxe du C++/CLI et je préfère travailler en C#. Est-il un outil qui fait un travail décent de la traduction de l'un à l'autre?
EDIT: Quand j'ai dit que le c++ avant de me semble que l'on parle de c++/CLI
OriginalL'auteur Matthew Scouten | 2008-09-16
Vous devez vous connecter pour publier un commentaire.
Vous ne pouvez traduire Géré de code C++ (et C++/CLI code) de C# si le code C++ est de la pure gestion. Si elle ne l'est pas, c'est à dire si il y a du code natif inclus dans les sources -- des outils comme .NET Réflecteur de ne pas être en mesure de traduire le code pour vous.
Si vous avez du code C++ natif mixte, alors je vous recommande d'essayer de déplacer le code natif dans une DLL, remplacer vos appels à des fonctions de la DLL par facilement identifiables fonctions stub, de compiler votre projet comme un pur .NET bibliothèque, puis de l'utiliser .NET réflecteur de compiler en code C#. Ensuite, vous pouvez remplacer les appels à la stub des fonctions de p-l'appel des appels vers votre DLL native.
Bonne chance! Je me sens pour vous!
OriginalL'auteur Kevin
.NET Managed C++, c'est comme un accident de train. Mais avez-vous regardé en C++ CLI? Je pense que Microsoft a fait un excellent travail dans ce domaine pour faire de C++ une classe de première .NET-citoyen.
http://msdn.microsoft.com/en-us/magazine/cc163852.aspx
OriginalL'auteur Jorge Ferreira
Je ne suis pas sûr si cela va fonctionner, mais essayez d'utiliser .Net Réflecteur avec ReflectionEmitLanguage plug-in. Le RelelectionEmitLanguage plug-in réclamations pour convertir votre assemblée en code c#.
OriginalL'auteur Vivek
Retour ~2004, Microsoft n'a disposer d'un outil qui permettrait de convertir managed C++ C++/CLI ... en quelque sorte. Nous avons couru sur un couple de projets, mais pour être honnête, le montant des travaux de nettoyage le projet a été rien de moins que la somme de travail qu'il aurait été de faire la conversion à la main en premier lieu. Je ne pense pas que l'outil jamais fait une sortie publique même si (peut-être pour cette raison).
Je ne sais pas quelle version de Visual Studio que vous utilisez, mais nous avons réussi à du code C++ qui ne sera pas compiler avec Visual Studio 2005/2008 l'aide de la /clr:oldSyntax commutateur et nous avons encore une relique VS 2003 autour pour elle.
Je ne sais pas de toute façon de passer du C++ C# dans un moyen utile ... vous pouvez essayer de les allers-retours à travers réflecteur 🙂
OriginalL'auteur Rob Walker
De tels projets sont souvent réalisés en c++/cli parce que le C# n'est pas vraiment une option élégante pour la tâche. par exemple, si vous avez à l'interface avec certains autochtones bibliothèques C++, ou de faire de très hautes performances, des trucs à faible niveau de C. Donc, assurez-vous simplement que celui qui a choisi le c++/cli n'a pas eu une bonne raison de le faire avant de faire le switch.
Cela dit, je suis très sceptique il y a quelque chose qui fait ce que vous demandez, pour la simple raison que tous C++/cli code est traduisible en C# (et probablement vice versa).
OriginalL'auteur Assaf Lavie