21

GAC に登録する必要がある dll のディレクトリ全体があります。各ファイルを明示的に登録することは避けたいのですが、gacutil には「ディレクトリの登録」オプションがないようです。誰もが高速/シンプルなソリューションを持っていますか?

4

3 に答える 3

37

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

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

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

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

于 2008-08-29T19:05:44.880 に答える
11

以下は、現在のディレクトリ内のすべてのファイルを Gacutil に登録するためにバッチ ファイルに入れるスクリプトです。それを行うためにバッチファイルに入れる必要はありません(コマンドプロンプトにコピーして貼り付けることができます)。

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

編集:うーん、遅れてすみません。私が投稿したとき、前の投稿は表示されませんでした。

于 2008-08-29T19:07:26.967 に答える
2

使用する

gacutil /il YourPathTo_A_TextFile.txt

複数の異なるフォルダーにdllがある場合は、切り替えます。それ以外の場合は、for ... inEuro で言及されているループに進みます。

テキスト ファイルには、インストールするアセンブリ パスのリスト (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.dll C:\...Microsoft.Practices.EnterpriseLibrary.Configuration.DesignTime.dll C:\...Microsoft.Practices.EnterpriseLibrary.Configuration.EnvironmentalOverrides.dll C:\...Microsoft.Practices.EnterpriseLibrary.Data .dll

于 2015-05-03T16:32:44.257 に答える