为什么ClickOnce部署中存在重复的程序集?

时间:2010-01-07 18:16:31

标签: .net clickonce

我想知道为什么我的ClickOnce部署在安装后驻留在客户端上的多个文件夹中包含相同的.dll。我假设它是因为相同的组件被部署的2个不同的组件引用。

这让我想到了下一个问题: 1.)为什么?将文件存在两次似乎是浪费 2.)最重要的是:在ClickOnce安装过程中文件是下载两次还是在下载后只复制到2个位置?我可以和后者一起生活,即使它是浪费。

谢谢,我希望有人可以给我一些见解,我很惊讶找到这方面的信息有多难。

修改

完全清除2.0缓存文件夹后,新安装的ClickOnce应用程序会产生以下内容(例如)

C:\ Documents and Settings \ schmoopy \ Local Settings \ Apps \ 2.0 \ G57TKZ28.WP3 \ 156X8 QYO.XDZ \ comp..p282_0000000000000000_0003.003e_485502fc487b00ff \ CrystalDecisions。 Shared.dll C:\ Documents and Settings \ schmoopy \ Local Settings \ Apps \ 2.0 \ G57TKZ28.WP3 \ 156X8 QYO.XDZ \ crys..ared_692fbea5521e1304_000c.0000_none_badb756f818b0fe2 \ CrystalDecis ions.Shared.dll

做...

它们是相同的版本.dll

2 个答案:

答案 0 :(得分:1)

如果没有运气,我看起来很长很难找到相同的答案。我的假设(没有事实支持这一点,但似乎是一个逻辑猜测)是因为它如何影子复制文件。 ClickOnce安装程序由应用程序进程启动启动,因此文件将复制到正在运行的进程中。

答案 1 :(得分:1)

下载应用程序时运行Fiddler将显示文件是否被多次下载。提琴手很棒。我每天都使用它,它是免费的。

此外,ClickOnce保留当前版本,并在您的计算机上保留一个版本。也许这就是副本出现的地方。