$farm = Get-SPFarm
$file = $farm.Solutions.Item("namesolution.wsp").SolutionFile
$file.SaveAs("C:\namesolution.wsp")
the source http://blogs.msdn.com/b/kaevans/archive/2011/12/05/extract-a-wsp-solution-from-sharepoint-2010.aspx
for get assembly dll from gac
go to the folder C:\WINDOWS\assembly\GAC_MSIL\assemblyName.dll
if you try to compile and deploy a webpart without success or other element with visual studio and you receive this error message
nameProjectDLL.pdb: The process cannot access the file because it is being used by another process. etc..
and that, having tried everything it still does not
you can try to close the process msvsmon.exe (started by devenv.exe)
and it should run by open Task Manager of windows
here the source that help me http://stackoverflow.com/a/9119297