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

Je veux lancer regasm.exe De cmd. qui est disponible en c:windowsMicrosoft.netframework2.057

J'aime ce c: regasm.exe

Il donne regasm n'est pas reconnu comme commande interne ou externe .

J'ai donc compris que je devais définir le chemin 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?

48
demandé sur Benjamin 2009-06-10 10:11:14

10 réponses

Dans l'invite de commande:

SET PATH = "%PATH%;%SystemRoot%\Microsoft.NET\Framework\v2.0.50727"
39
répondu anonymous coward 2016-12-08 10:28:30

Comme Cheeso dit:

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 l'appelez à partir d'un fichier batch, vous trouverez peut-être plus simple d'appeler regasm via le chemin d'accès complet sur l'exe, par exemple:

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

35
répondu Ries 2009-09-04 08:24:19

Vous n'avez pas besoin d' le 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 l'appelez à partir d'un fichier batch, vous trouverez peut-être plus simple d'appeler regasm via le chemin d'accès complet sur l'exe, par exemple:

c:\Windows\Microsoft.NET\Framework\v2.0.50727\regasm.exe   MyAssembly.dll
16
répondu Cheeso 2009-06-10 10:45:11

Si vous avez créé la DLL à l'aide de.Net 4.5 , copiez et collez cette commande à l'invite de commandes.

 %SystemRoot%\Microsoft.NET\Framework\v4.0.30319\regasm.exe MyAssembly.dll
13
répondu Edwin Ikechukwu 2018-08-17 12:58:43

Je l'utilise comme événement post-build dans Visual Studio:

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

Selon la 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
6
répondu Unrumpf 2017-08-11 08:31:58

J'utilise ce qui suit dans un fichier batch:

path = %path%;C:\Windows\Microsoft.NET\Framework\v2.0.50727
regasm httpHelper\bin\Debug\httpHelper.dll /tlb:.\httpHelper.tlb /codebase
pause
2
répondu Patrick 2011-09-16 12:44:41

Je n'aime vraiment pas le codage dur des chemins pour arriver à regasm, lorsque vous installez un nouveau. net ou exécutez sur une machine avec une version différente, vous devez vous assurer de trouver une version de regasm. Voici une solution pour trouver le régasme.exe dule plus courant. net installé regasm.

Dans un fichier bat:

for /f %%a in ('dir %windir%\Microsoft.Net\Framework\regasm.exe /s /b') do set currentRegasm="%%a"
%currentRegasm% "full\path\to\your.dll" /options

En dehors d'un fichier bat (c'est-à-dire invite de commande), utilisez simplement %a au lieu de %%a

1
répondu Scott C 2017-02-28 04:49:31

Pour le RegAsm 64 bits.exe vous aurez besoin de le trouver quelque part comme ceci:

c:\Windows\Microsoft.NET\Framework64\version_number_stuff\regasm.exe
0
répondu Jiminion 2014-06-02 21:15:42

En faisant glisser et déposer la dll sur 'regasm', vous pouvez l'enregistrer. Vous pouvez ouvrir deux fenêtres "Explorateur de fenêtres". L'un contiendra la dll que vous souhaitez enregistrer. La 2ème fenêtre sera l'emplacement de la "regasm' application. Faites défiler vers le bas dans les deux fenêtres afin que vous ayez une vue à la fois de la dll et de 'regasm'. Cela aide à réduire la taille des deux fenêtres afin qu'elles soient côte à côte. Assurez-vous de faire glisser la dll sur le "regasm" qui est étiqueté "application". Il y a plusieurs fichiers "regasm" mais vous voulez seulement l'application.

0
répondu OldProgrammer 2015-09-18 13:34:30

Exécutez seulement 1 des {[4 ci-dessous]} Une fois qu'une commande fonctionne, ignorez le reste / ci-dessous:

Normal:

%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\RegAsm.exe myTest.dll
%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\RegAsm.exe myTest.dll /tlb:myTest.tlb
%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\RegAsm.exe myTest.dll /tlb:myTest.tlb /codebase

Seulement si vous rencontrez des problèmes, utilisez l'ancienne version 'v2.0. 50727':

%SystemRoot%\Microsoft.NET\Framework\v2.0.50727\RegAsm.exe myTest.dll
%SystemRoot%\Microsoft.NET\Framework\v2.0.50727\RegAsm.exe myTest.dll /tlb:myTest.tlb
%SystemRoot%\Microsoft.NET\Framework\v2.0.50727\RegAsm.exe myTest.dll /tlb:myTest.tlb 

Seulement si vous avez construit myTest.dll pour 64 bits uniquement, utilisez le chemin 'Framework64':

%SystemRoot%\Microsoft.NET\Framework64\v4.0.30319\RegAsm.exe myTest.dll
%SystemRoot%\Microsoft.NET\Framework64\v2.0.50727\RegAsm.exe myTest.dll

Remarque: les DLL construites 64 bits ne fonctionneront pas sur une plate-forme 32 bits.

Toutes les options:

Voir https://docs.microsoft.com/en-us/dotnet/framework/tools/regasm-exe-assembly-registration-tool

0
répondu Manohar Reddy Poreddy 2018-07-27 02:57:19