Пакетный файл Windows для развертывания всех DLL в папке в GAC - PullRequest
1 голос
/ 20 июня 2011

Я работаю над проектом ASP.NET, в котором я создал несколько библиотек в папке.Мне нужно написать файл cmd или bat, чтобы взять все dll в этой папке и GACUTIL.Так как же зациклить все dll в папке?

Ответы [ 2 ]

2 голосов
/ 20 июня 2011

Это то, что я использую для развертывания всех файлов sql в заданной папке, вы можете настроить его так, чтобы при необходимости действовать на файлы dll;

@echo off

SET dbodir=../Schema Objects/Schemas/dbo/Programmability/Stored Procedures/
SET tpmdir=../Schema Objects/Schemas/TPM/Programmability/Stored Procedures/

echo --- Starting dbo schema

for %%f in ("%dbodir%*.sql") do (echo Running %%f.... && @sqlcmd -U %1 -P %2 -S %3 -d %4 -i "%dbodir%%%f")

echo --- Completed dbo schema

echo --- Starting TPM schema

for %%g in ("%tpmdir%*.sql") do (echo Running %%g.... && @sqlcmd -U %1 -P %2 -S %3 -d %4 -i "%tpmdir%%%g")

echo --- Completed TPM schema

pause
0 голосов
/ 12 апреля 2019

Если кто-то ищет способ сделать это в PowerShell.

[System.Reflection.Assembly]::Load("System.EnterpriseServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")            
$publish = New-Object System.EnterpriseServices.Internal.Publish       

$dlls = Get-ChildItem -Path C:\Code\Application\ -Filter *dll -Recurse -ErrorAction SilentlyContinue -Force  | %{$_.FullName}

 foreach ($dll in $dlls) {
   $publish.GacInstall($dll)
 }
...