将我的DLL部署到GAC以与ClickOnce App一起使用

Ref*_*din 6 .net dll clickonce gac winforms

我该怎么做?我不应该有任何理由吗?

我有一个winform ClickOnce应用程序,其中有大约13mbs的DLL不是我的,所以我没有必要/能够定期更新它们.

DevExpress(3),Microsoft ReportViewer,Microsoft SQL Replication.Microsoft SQL SMO.

如果没有它们被包含在我的ClickOnce应用程序中,我的整个程序大约需要1.5mbs,并且我们的远程站点具有有限的vpn连接,我真的需要将它放在那里.每次我做一个小的应用程序更改时,我无法通过我们的网络向所有用户发送15mb.

谢谢


更新清晰度

为了澄清; 我不想使用 ClickOnce 将我的DLL安装到GAC .ClickOnce是我的主要应用程序需要使用的.我想从ClickOnce应用程序中删除该13mbs的DLL并安装它们以便在所有本地系统上使用.

如果我能够通过GAC实现这一目标,那太棒了.我只需要我的主应用程序三聚体更新.

cod*_*ion 7

扩展@kanad的回复......

您的13MB dll只会在用户第一次安装应用程序时下载.这是ClickOnce的一大优势,用户只需下载已更改的文件.

但是,令人困惑的是,ClickOnce进度对话框始终显示应用程序的整个大小,即使它可能没有下载整个应用程序.我做了大量测试,以确保情况确实如此,并使用带宽监视器向我自己证明了这一点.

最后,如果您可以控制Web服务器,则可能需要考虑为ClickOnce应用程序启用压缩.它有助于大幅减少下载量.压缩是一种痛苦的设置,但本文应该让你开始.但是,再一次,压缩的大小不会反映在ClickOnce进度对话框中.

最好的办法就是忽略ClickOnce进度对话框中显示的数字:)