57 votes

Comment exécuter regasm.exe en ligne de commande autre que l'invite de commande de Visual Studio?

Je veux exécuter regasm.exe à partir de cmd. qui est disponible dans c:\windows\Microsoft.net\framework\2.057

Je le fais comme ceci c:\ regasm.exe

Il donne regasm n'est pas reconnu en tant que commande interne ou externe.

J'ai donc compris que j'ai besoin de définir le chemin d'accès pour regasm.exe dans la variable d'environnement.

Pour quelle variable dois-je définir le chemin pour exécuter regasm comme décrit ci-dessus?

47voto

Charlie Somerville Points 5856

Dans l'invite de commande :

SET PATH = "%PATH%;%SystemRoot%\Microsoft.NET\Framework\v2.0.50727"

11 votes

Encore mieux: DÉFINIR LE CHEMIN "%CHEMIN%;%SystemRoot%\Microsoft.NET\Framework\v2.0.50727"

3 votes

@CharlieSomerville Pourriez-vous simplement corriger l'original? Il est trop petit pour qu'une autre personne puisse l'éditer.

0 votes

Je n'ai pas réussi à faire fonctionner cela sans ajouter un égal. J'ai essayé de le modifier mais SO a dit que la modification était trop courte. SET PATH = "%PATH%;%SystemRoot%\Microsoft.NET\Framework\v2.0.50727

41voto

Ries Points 1405

Comme l'a dit Cheeso :

Vous n'avez pas besoin du répertoire dans votre chemin. Vous pourriez le mettre dans votre chemin, mais vous n'ÊTES PAS obligé de le faire. Si vous appelez regasm rarement, ou si vous l'appelez à partir d'un fichier batch, vous pourriez trouver plus simple d'invoquer regasm via le chemin d'accès entièrement qualifié de l'exécutable, par exemple :

%SystemRoot%\Microsoft.NET\Framework\v2.0.50727\regasm.exe MyAssembly.dll

2 votes

Est-ce que la petite modification de la réponse de Cheeso vaut la peine d'être séparée ?

23voto

Cheeso Points 87022

Vous n'avez pas besoin du répertoire sur votre chemin. Vous pourriez le mettre sur votre chemin, mais vous n'AVEZ pas besoin de le faire.
Si vous appelez regasm rarement, ou si vous l'appelez à partir d'un fichier batch, vous constaterez qu'il est plus simple d'invoquer regasm via le chemin d'accès complet de l'exécutable, par exemple:

c:\Windows\Microsoft.NET\Framework\v2.0.50727\regasm.exe   MyAssembly.dll

1 votes

Le problème avec cela est que votre système d'exploitation peut être dans winnt ou un autre dossier au lieu de Windows, il est donc préférable d'utiliser %systemroot% comme le montrent les autres réponses.

21voto

Si vous avez créé le DLL en utilisant .net 4.5, alors copiez et collez cette commande dans l'invite de commandes.

 %SystemRoot%\Microsoft.NET\Framework\v4.0.30319\regasm.exe MyAssembly.dll

8voto

Unrumpf Points 41

J'utilise ceci comme événement post-build dans Visual Studio :

call "%VS90COMNTOOLS%vsvars32.bat"
regasm  $(TargetPath) /tlb

En fonction de votre version de Visual Studio, utilisez plutôt ces variables d'environnement :

  1. Visual Studio 2008 : VS90COMNTOOLS
  2. Visual Studio 2010 : VS100COMNTOOLS
  3. Visual Studio 2012 : VS110COMNTOOLS
  4. Visual Studio 2013 : VS120COMNTOOLS
  5. Visual Studio 2015 : VS140COMNTOOLS
  6. Visual Studio 2017 : VS150COMNTOOLS

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X