visual studio建项目默认会建packages包管理文件夹,为什么运行或发布时没copy dll文件到项目bin目录里?

情况:
visual studio新建asp.net mvc项目默认会创建一个packages包管理文件夹,
项目里引用这些dll时指向到packages包管理文件夹的,项目bin目录里实际并不存在这个dll文件,但在vs里一样可以调试运行。

问题:
1、怎么这个是怎么运行的?
2、我的理解程序运行都需要从bin目录里找dll编译好的库,那上面这种运行原理是什么?
3、有没有地方可以配置这个引用路径?
4、为什么发布项目时没copy dll文件到项目bin目录里?

问题有点多,谢谢各位帮助解惑!新用户,没积分,望理解。

新手,不对误碰,通常来说项目生成的时候会把所有的dll放到一起,然后生成,但是packages是nuget读取的第三方的包,而且,我用nuget安装包的时候都会放到bin里面,暂时是没有遇到