我正在部署一个大型dll,这导致最终构建变得非常庞大。
所以我有ProjectA引用ProjectB,它引用了第三方DLL。 此第三方DLL现在位于两个项目bin文件夹中,即使它仅由ProjectB直接引用。问题是这个第三方dll是庞大的,并且导致最终版本很大,因为它被复制到这么多bin文件夹。我真的只是在这种情况下寻找最佳实践。
答案 0 :(得分:0)
由于您的第三方DLL很大并且在多个应用程序之间共享,因此解决方案可能是将共享DLL放入global assembly cache而不是在每个应用程序中部署它。
这只有在DLL名称很强的情况下才有效,但是很多公司都强调了它们的程序集,所以你可以尝试一下。
这个想法是你可以将这个1 DLL拖放到GAC中,然后你可以继续bin部署没有这个文件的应用程序的其余部分。只要您将DLL放在正确的GAC(框架版本和位数)中并针对依赖项编译应用程序,.NET框架就会在GAC中找到它,因此不需要在每次部署时都包含它。
答案 1 :(得分:0)
据我所知,主要原因是您已将此引用设置为“复制本地”,从而导致它首先在项目之间重复。如果您正常添加对每个项目的引用,并且只将其设置为复制本地Web项目,则副本数量已经大幅减少。