2009-06-10 34 views
46

cmdからregasm.exeを実行します。 C言語で利用可能である:\ WINDOWS \ Microsoft.net \ 2.057Visual Studioコマンドプロンプト以外のコマンドラインからregasm.exeを実行するにはどうすればよいですか?

私はこのCのように行う枠組み\:

Regasm.exeによって\それは、内部または外部コマンドとして認識されていないます。regasmを与えます。

環境変数にregasm.exeのパスを設定する必要があることを理解しました。

上記のように、どの変数にregasmを実行するパスを設定する必要がありますか?

答えて

38

コマンドプロンプトで:

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

良いのではなく、%aを使用します:batファイル内

SET PATH「%パス%;%SYSTEMROOT%\ Microsoft.NET \ Framework \ v2.0.50727 " – Ries

+3

@CharlieSomervilleオリジナルを修正できますか?誰かが編集するには小さすぎます。 –

+0

私はこれを追加することなく動作させることができませんでした。私はそれを編集しようとしましたが、SOは編集が短すぎると言いました。 Windowsの代わりにwinntや他のフォルダにOSがある可能性があるので、%systemrootを使用する方が良いでしょう。%SystemRoot%\ Microsoft.NET \ Framework \ v2.0.50727 \ – KevM

2

私はバッチファイルに次のように使用します。

path = %path%;C:\Windows\Microsoft.NET\Framework\v2.0.50727 
regasm httpHelper\bin\Debug\httpHelper.dll /tlb:.\httpHelper.tlb /codebase 
pause 
15

あなたはは、あなたのパスにディレクトリは必要ありません。あなたはあなたの道にそれを置くことができますが、それをする必要はありません。あなたはめったにます。regasmを呼び出していない、またはバッチファイルからそれを呼び出している場合は
、あなたは、それだけでexeファイルに完全修飾パス名を経由します。regasmを呼び出すために単純であるかもしれません。例:

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

他の回答が表示されているように% – Alex

+0

はい、まあまあです。私は例を示していました(例えば) – Cheeso

34

ようCheesoは言いました:

パス上にディレクトリは必要ありません。あなたはあなたの道にそれを置くことができますが、それをする必要はありません。 あなたが例えば、あなたはそれだけでexeファイルに完全修飾パス名を経由します。regasmを呼び出すために単純であるかもしれない、めったにます。regasmを呼び出していない、またはバッチファイルからそれを呼び出す場合:

%のSystemRoot%は \ Microsoft.NET \ Frameworkのの\ v2.0.50727の\ Regasm.exeによってMyAssembly.dll

+1

Cheesoの答えに少し変わったのですか? – xehpuk

5

私はVisual Studioでビルド後のイベントとしてこれを使用する:あなたのVisual Studioのバージョンに応じ

、THESを使用代わりに、電子の環境変数:

  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 Studio2017:VS150COMNTOOLS
0

64ビットRegAsmの場合。あなたはこのようにどこかにそれを見つける必要がありますEXE:

c:\Windows\Microsoft.NET\Framework64\version_number_stuff\regasm.exe 
11

あなたは、コピーして、それはあなたのために働く場合

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

が親切に投票CMDウィンドウで次のコマンドを貼り付け、.NET 4.5を使用してDLLを作成した場合。 :D

0

dllを 'regasm'にドラッグアンドドロップすることで登録できます。 「ウィンドウエクスプローラ」ウィンドウを2つ開くことができます。 1つはあなたが登録したいdllを含みます。 2番目のウィンドウは、 'regasm'アプリケーションの場所になります。両方のウィンドウをスクロールして、dllと 'regasm'の両方のビューを表示します。 これは、2つのウィンドウが並んでいるように、2つのウィンドウのサイズを小さくするのに役立ちます。 「アプリケーション」というラベルの「regasm」の上にdllをドラッグしてください。いくつかの 'regasm'ファイルがありますが、あなたはアプリケーションだけを必要とします。

1

あなたが新しい.Netをインストールするか、別のバージョンのマシンで実行するとき、regasmにアクセスするためのパスのハードコーディングが本当に嫌いです。あなたはregasmのバージョンを確実に見つける必要があります。ここには、最新の.Net Regasmがインストールされているregasm.exeを見つけるための解決策があります。 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 

(すなわちコマンドプロンプト)、ちょうどまだ%%a

関連する問題