卷影复制
在开发Web应用程序时,我遇到了构建错误:“当该文件已经存在时,无法在其中创建/阴影复制'此处的程序集信息'”。 我不太确定.net中的卷影副本是什么。 从名称中我们可以猜测出它的影子或有助于请求其他东西。 及其正确的。
为什么在asp.net中引入它?
如果我们正在开发/更新/增强任何生产应用程序,而不必停止和重新启动Web服务器,则可以使用最新文件更新服务器,并且该应用程序此时不会停止或出现错误,而是将处理所有请求。旧文件/ dll和任何新请求将与服务器中更新的新dll /文件一起处理。 为此,引入了遮蔽概念。
这种工作方式是ASP.NET制作\ bin目录内容的卷影副本,并从该副本中加载DLL。 ASP.NET监视\ bin目录中的更改,并在内容更改时重复卷影副本。
保持开启状态对服务器有影响吗?这确实需要时间,并且如果您有大量的DLL或非常大的DLL,则卷影复制过程可能会影响应用程序的启动和重新启动性能。
因此,在某些情况下,您可能需要关闭卷影复制过程。 为此,将以下内容添加到ASP.NET 2.0 web.config文件中:
<hostingEnvironment shadowCopyBinAssemblies =“ false” />
保持关闭状态的影响?尽管这将减少与影子复制\ bin目录内容相关的性能开销,但请记住,使用此配置选项将导致在应用程序运行时DLL被锁定。 因此,如果您需要更新DLL,则需要使应用程序脱机或停止该过程,然后再执行此操作。
如果您收到“如果该文件已经存在,则无法在其中创建/阴影复制'您的程序集信息'”错误,请忘记说,通过设置shadowCopyBinAssemblies =“ false”,我们可以摆脱此错误。 我们还可以通过清洁溶液来消除错误(解决方案->清洁)。
希望它能帮助一些人。
谢谢
巴拉斯·雷迪VasiReddy
翻译自: https://bytes.com/topic/net/insights/885159-what-meant-shadow-copying-net
卷影复制