我一天有几次在运行我的asp.net mvc4项目时收到此错误.我不是在问这意味着什么,或者如何解决它,而是我在做什么来引起它呢?它真的开始让我感到烦恼,如果我能通过改变我的工作流程而让它消失,我会的.
当该文件已存在时,无法创建/卷影复制'<assembly>'.
如上所述,该项目是一个MVC4应用程序.我的工作流程通常是.
(我在附加/不附带调试器的情况下得到错误.)我将永远感谢任何能告诉我如何避免此错误的人,并会立即发表推文
我们最近更新了一个相当大的ASP.NET网站(~1500th alexa流量排名),以使用在Windows Server 2008 R2上运行的VS2010和.NET 4.0
从那时起,当我们部署新版本的网站时,我们偶尔会注意到这篇文章中的相同错误: ASP.Net无法创建/卷影副本 错误消息是:无法创建/卷影复制'xxxx,版本= 4.0.4301.26898,Culture =当该文件已存在时,中性,PublicKeyToken = null'
但是,与该帖子不同,错误仅在我们的生产环境中发生,并且仅在某些服务器上发生.
在我们发布新版本的代码之后,我们回收所有AppPools并且错误开始发生.
另一个AppPool回收似乎解决了这个问题,但我真的想知道如何才能首先避免这个问题?
今天,我详细介绍了hostingEnvironment标记中的shadowCopyBinAssemblies选项.
显然这个属性是web.config(system.web)配置布尔选项,指示Bin目录中应用程序的程序集是否被镜像复制到应用程序的ASP.NET临时文件目录.
<hostingEnvironment shadowCopyBinAssemblies="false" />
Run Code Online (Sandbox Code Playgroud)
一位同事必须启用此设置,因为(仅)在他的开发机器上,他经常在Web浏览器中遇到ASP.NET错误:
Cannot create shadow copy assembly file dll when that file already exists.
Run Code Online (Sandbox Code Playgroud)
在Visual Studio 2008中编译特定的Web项目并打开页面.
现在我的问题是:我可以在生产环境中保留此设置,还是会损害性能和/或创建其他问题?
谢谢!