トップ回答者
アセンブリ登録ツール (Regasm.exe)の使い方

質問
-
アセンブリ登録ツール (Regasm.exe)をwindowsXP、Visual Studio 2008で使おうと思っているのですが使い方が今ひとつ分かりません。
RegAsm.exeのフルパスがC:\abc\RegAsm.exe、レジストリに登録する内容のhoge.dllがC:\bin\hoge.dllとして「ファイル名を指定して実行」でC:\abc\RegAsm.exe > C:\bin\hoge.dll
C:\abc\regasm /codebase C:\bin\hoge.dllとしてもダメです。Visual Studioのコマンドラインを使うとの情報もあるのですがツールバーの中にもそれらしき項目はありません。
Regasm.exeの使い方をご教授いただけないでしょうか。
回答
-
どのようにうまくいかないかを書いてみませんか?
例えば、「内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されていません。」と表示されるのか、それともそれ以外の問題なのかが分からないことには、躓いているところがどこか分かりづらいと思います。
girou2 さんからの引用 C:\abc\RegAsm.exe > C:\bin\hoge.dll
C:\abc\regasm /codebase C:\bin\hoge.dllコマンドプロンプトの使い方の話になってしまうのですが、、、RegAsm.exeと単に打った場合は同じフォルダか、環境変数PATHで指定されたフォルダ等(システムフォルダとか)にあることを期待しますが、そのどちらにも存在しません。
また、C:\abc\RegAsm.exeと打った場合は、C:\abcにRegAsm.exeが存在する必要があります。
正解ですが、C:\Windows\Microsoft.NET\Framework\v2.0.50727にあります。
C:\Windows\Microsoft.NET\Framework\v2.0.50727\RegAsm.exeと打てば参照できるはずです。
なお、Visual StudioコマンドプロンプトはExpress Editionにはありません。
-
girou2 さんからの引用 アセンブリ登録ツール (Regasm.exe)をwindowsXP、Visual Studio 2008で使おうと思っているのですが使い方が今ひとつ分かりません。
RegAsm.exeのフルパスがC:\abc\RegAsm.exe、レジストリに登録する内容のhoge.dllがC:\bin\hoge.dllとして「ファイル名を指定して実行」でC:\abc\RegAsm.exe > C:\bin\hoge.dll
C:\abc\regasm /codebase C:\bin\hoge.dllとしてもダメです。Visual Studioのコマンドラインを使うとの情報もあるのですがツールバーの中にもそれらしき項目はありません。
Regasm.exeの使い方をご教授いただけないでしょうか。
「ファイル名を指定して実行」だと実行結果が見えないため、コマンドプロンプト(cmd.exe)でコマンド入力してみてください。
(もしくは[スタート]-[プログラム]-[アクセサリ]-[コマンドプロンプト])
コマンドプロンプトから実行するとエラーが出た場合のメッセージも表示されるので、原因の究明に役立ちます。
girou2 さんからの引用 C:\abc\RegAsm.exe > C:\bin\hoge.dll
あと気になった点として、RegAsm.exeの後ろの">"ですが、これは出力リダイレクトの記号ですが、C:\bin\hoge.dll の内容が壊れませんか?
(C:\bin\hoge.dll の内容が RegAsm.exeの出力するメッセージに置き換わってしまうはず)
-
こんばんは!(^^)!ふ~です。
>この辺は不思議です。
コマンドプロンプトの場合、パスの途中にスペースが有る場合など、
下記のように『”xxxxx”』を使うと上手く行く場合がございます。
>C:\abc\regasm.exe /codebase "C:\Program Files\\bin\hoge.dll"
ご参考資料
アセンブリ登録ツール (Regasm.exe)
すべての返信
-
どのようにうまくいかないかを書いてみませんか?
例えば、「内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されていません。」と表示されるのか、それともそれ以外の問題なのかが分からないことには、躓いているところがどこか分かりづらいと思います。
girou2 さんからの引用 C:\abc\RegAsm.exe > C:\bin\hoge.dll
C:\abc\regasm /codebase C:\bin\hoge.dllコマンドプロンプトの使い方の話になってしまうのですが、、、RegAsm.exeと単に打った場合は同じフォルダか、環境変数PATHで指定されたフォルダ等(システムフォルダとか)にあることを期待しますが、そのどちらにも存在しません。
また、C:\abc\RegAsm.exeと打った場合は、C:\abcにRegAsm.exeが存在する必要があります。
正解ですが、C:\Windows\Microsoft.NET\Framework\v2.0.50727にあります。
C:\Windows\Microsoft.NET\Framework\v2.0.50727\RegAsm.exeと打てば参照できるはずです。
なお、Visual StudioコマンドプロンプトはExpress Editionにはありません。
-
返信ありがとうございます。
>C:\Windows\Microsoft.NET\Framework\v2.0.50727\RegAsm.exeと打てば参照できるはずです。
あ、これは分かりやすいようにC:\abc\RegAsm.exeとしたまでで、実際はそのように打っています。
>どのようにうまくいかないかを書いてみませんか?
それで、RegAsm.exeは起動するのですが、すぐに自動的に閉じてしまい、レジストリーへの登録ができていない状況なのです。
>なお、Visual StudioコマンドプロンプトはExpress Editionにはありません。
そうでしたか。先ほど、TeamSystemの試用版を入れてみたのですが、こちらにもちょっと見当らないようです。 -
girou2 さんからの引用 アセンブリ登録ツール (Regasm.exe)をwindowsXP、Visual Studio 2008で使おうと思っているのですが使い方が今ひとつ分かりません。
RegAsm.exeのフルパスがC:\abc\RegAsm.exe、レジストリに登録する内容のhoge.dllがC:\bin\hoge.dllとして「ファイル名を指定して実行」でC:\abc\RegAsm.exe > C:\bin\hoge.dll
C:\abc\regasm /codebase C:\bin\hoge.dllとしてもダメです。Visual Studioのコマンドラインを使うとの情報もあるのですがツールバーの中にもそれらしき項目はありません。
Regasm.exeの使い方をご教授いただけないでしょうか。
「ファイル名を指定して実行」だと実行結果が見えないため、コマンドプロンプト(cmd.exe)でコマンド入力してみてください。
(もしくは[スタート]-[プログラム]-[アクセサリ]-[コマンドプロンプト])
コマンドプロンプトから実行するとエラーが出た場合のメッセージも表示されるので、原因の究明に役立ちます。
girou2 さんからの引用 C:\abc\RegAsm.exe > C:\bin\hoge.dll
あと気になった点として、RegAsm.exeの後ろの">"ですが、これは出力リダイレクトの記号ですが、C:\bin\hoge.dll の内容が壊れませんか?
(C:\bin\hoge.dll の内容が RegAsm.exeの出力するメッセージに置き換わってしまうはず)
-
こんばんは!(^^)!ふ~です。
>この辺は不思議です。
コマンドプロンプトの場合、パスの途中にスペースが有る場合など、
下記のように『”xxxxx”』を使うと上手く行く場合がございます。
>C:\abc\regasm.exe /codebase "C:\Program Files\\bin\hoge.dll"
ご参考資料
アセンブリ登録ツール (Regasm.exe)