You should use something like:
$dlls = @(
($basePath + "\bin\debug\dll1.dll"),
($basePath + "\bin\debug\dll2.dll"),
($basePath + "\bin\debug\dll3.dll")
)
or
$dlls = @(
$($basePath + "\bin\debug\dll1.dll"),
$($basePath + "\bin\debug\dll2.dll"),
$($basePath + "\bin\debug\dll3.dll")
)
As your answer shows, the semicolons also work because that marks the end of a statement...that would be evaluated, similar to using parenthesis.
Alternatively, use another pattern like:
$dlls = @()
$dlls += "...."
But then you might want to use ArrayList and gain performance benefits...
See PowerShell array initialization