安装.Net 4并获得一些已经回答的问题here我还意识到框架dll如何在不同的框架版本的几个地方重复(这不是新的,它发生在以前的版本中,但直到现在才注意到它)
1 - GAC:%systemroot%\ assembly
2- Framework安装目录:%systemroot%\ Microsoft.NET \ Framework \ v ...
3-如果您安装了Windows SDK,也可以在:C:\ Program Files \ Microsoft SDKs \ Windows \
我认为最后一个是所谓的“参考装配”并且有额外的元数据来帮助Visual Studio,但是
2号位置怎么样?为什么在那里重复集会?
答案 0 :(得分:2)
不,这是.NET 1.x到3.5的GAC位置。 GAC for 4.0位于c:\ windows \ microsoft.net \ assembly中。移动的原因尚不清楚,可能是为了避免直接从GAC引用程序集的项目出现问题,这是一个很大的禁忌,但已经完成了。
是的,参考组件就在那里。也在c:\ program files \ reference程序集中。它们最初是存储在GAC中的程序集的逐字副本。直到您部署某种修补程序。将它们分开可确保您构建针对“正确”框架程序集的程序,而不是您恰好存储在GAC中的程序。
是的,没有框架程序集,只需构建工具。
答案 1 :(得分:1)
这是一个有根据的猜测,而不是一个实际的答案,但......
为了最初GAC一个DLL,你需要有一个完整的DLL(也就是非参考汇编)供GAC使用。引用程序集不起作用,因为它没有可执行代码。因此,您需要一个真正的DLL来获取GAC,以便获得位置#2。