質問

GAC に登録する必要がある dll のディレクトリ全体を入手しました。各ファイルを明示的に登録することは避けたいのですが、gacutil には「ディレクトリを登録」オプションがないようです。早くて簡単な解決策を持っている人はいますか?

役に立ちましたか?

解決

GACUTIL は、「COM」の意味ではなく、DLL を登録しません。COM とは異なり、GACUTIL はファイルを %SYSTEMROOT%\assembly の下の不透明なディレクトリにコピーし、そこから実行されます。GACUTIL に「フォルダーを登録してください」と要求するのは意味がありません (RegSvr32 でもそれができるわけではありません)。

次のようなバッチ FOR コマンドを使用できます。

FOR %a IN (C:\MyFolderWithAssemblies\*.dll) DO GACUTIL /i %a

これをバッチ ファイルに配置する場合は、%a を %%a に置き換える必要があります。

他のヒント

以下は、現在のディレクトリにあるすべてのファイルを Gacutil に登録するためにバッチ ファイルに入れるスクリプトです。これを行うためにバッチ ファイルに置く必要はありません (コマンド プロンプトにコピー/ペーストするだけで済みます)。

FOR %1 IN (*) DO Gacutil /i %1

編集:ああ、遅くなってごめんなさい。自分の投稿を投稿したときに、前の投稿が表示されませんでした。

使用

gacutil /il YourPathTo_A_TextFile.txt

複数の異なるフォルダーに DLL がある場合は、切り替えてください。それ以外の場合は、 for ... in ユーロが言及したループ。

テキスト ファイルには、インストールする必要があるアセンブリ パスのリスト (1 行に 1 つのパス) が含まれている必要があります。パスは、システム全体の異なるフォルダーにすることもできます。管理者としてコマンドラインを実行してください。

YourPathTo_A_TextFile.txt の例を次に示します。

c: ... microsoft.practices.enterpriselibrary.common.dll c: ... microsoft.practices.enterpriselibrary.configuration.design.hostadapter.dll C: ... Microsoft.Practices.EnterPriseLibrary.Configuration.Design。 hostadapterv5.ll c: ... microsoft.practices.enterpriselibrary.configuration.designtime.dll c: ... microsoft.practices.enterpriselibrary.configuration.environmentaloverrides.dll c: ... microsoftices.enterpriselibrary.data.data .dll

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top