Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ASP.Net无法创建/卷影副本_Asp.net_Assemblies_Web Config - Fatal编程技术网

ASP.Net无法创建/卷影副本

ASP.Net无法创建/卷影副本,asp.net,assemblies,web-config,Asp.net,Assemblies,Web Config,我在开发ASP.Net应用程序时反复遇到此错误: Cannot create/shadow copy 'XXXXX' when that file already exists 其中XXXXX是一个随机DLL。通常,DLL是Microsoft企业库中的DLL之一,但各不相同 这确实是随机的,而且非常令人沮丧。我将在数小时内不出现错误,然后每10-20分钟出现一次错误 我已经看到了几种解决方案。例如。我已经尝试过使用干净的解决方案选项,而且我还简单地重新启动了我的本地IIS。然而,它仍然以相

我在开发ASP.Net应用程序时反复遇到此错误:

  Cannot create/shadow copy 'XXXXX' when that file already exists
其中XXXXX是一个随机DLL。通常,DLL是Microsoft企业库中的DLL之一,但各不相同

这确实是随机的,而且非常令人沮丧。我将在数小时内不出现错误,然后每10-20分钟出现一次错误

我已经看到了几种解决方案。例如。我已经尝试过使用干净的解决方案选项,而且我还简单地重新启动了我的本地IIS。然而,它仍然以相同的随机但持续的频率发生

我还看到许多人提到在配置文件中使用此选项:

<hostingEnvironment shadowCopyBinAssemblies="false" />

然而,其他人提到它有问题,绝对不应该在生产中使用

那么,我应该放弃并尝试shadowCopyBinAssemblies选项吗?(并确保不要将此更改复制到其他环境。)我是唯一一个经常遇到此问题的人吗


注意:我使用的是VisualStudio2008

在使用我们创建的导入DLL时,我经常遇到这个问题

试图停止的尝试失败了,甚至引入了不同的问题,但每当它发生时,我只会执行一个重建解决方案,这个问题就会立即消失


另外,自从在VisualStudio2002上工作以来,我还没有看到过这个问题。据我所知,2008年没有这个问题,2005年也没有。您是否使用较旧的VS?

以下解决方法来自:

  • 添加到web.config文件的
    部分
  • 出现问题后重新启动卡西尼
  • 如果出现错误,请停止调试器,右键单击解决方案并“清除解决方案”。按F5重新启动调试器。这真的很烦人,因为它有超过50%的失败率为我,你会认为不应该有一个手动选项来清洁解决方案!这个$1200 POS应用程序应该会自动为您清理它
  • 加里·法尔(Gary Farr)提供了另一种可能对某些人更具吸引力的解决方法
  • 将以下内容添加到预构建事件中:

    IF EXIST$(TargetPath).LOCKED(del$(TargetPath).LOCKED)ELSE(IF EXIST$(TargetPath)(move$(TargetPath)$(TargetPath.LOCKED))

  • 为我做这项工作的一个变通方法是使用“构建”而不是“构建解决方案”

  • 成功构建之后,我数到十,然后刷新我的网络表单
  • 我发现,通过针对IIS重新注册ASP.NET,问题“消失”——此后我就再也没有遇到过问题。您需要在命令行上运行以下命令:
    C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet\u regiis.exe-i
    。这很可能不适用于所有人——这是一个复杂的问题
  • 重启VS
  • 清理解决方案时,发出了一些关于无法删除的文件的警告。这些文件设置了只读属性。将这些文件的属性设置为读/写后,问题就解决了
  • 重新启动IIS

编辑:从(archive.org提供)检索的项目。

打开项目属性,打开Web选项卡,确保未选中“启用编辑并继续”选项。

转到设计模式,然后右键单击并点击浏览器中的“视图”,问题将消失
Anil Madan

在预构建事件命令行中添加以下行,这基本上解除了Visual Studio中DLL的锁定:

 IF EXIST $(TargetPath).LOCKED  (del $(TargetPath).LOCKED)
  ELSE (IF EXIST $(TargetPath) (move $(TargetPath) $(TargetPath).LOCKED))

重新编译,将不会发生无法复制DLL的错误。

在我的情况下,只有
iisreset
工作。

等待10-30秒,然后点击刷新。由于某些原因,这对我来说总是有效的。

只要重新启动Visual studio,这对我来说是有效的。

如果使用实体框架:

错误消息: 当该文件已存在时,无法创建/卷影副本“”

解决方案: “请稍等几秒钟,然后刷新页面。”


有关更多信息,请访问:

我也遇到了同样的问题,通过将此代码放在web.config中的部分,它对我很有效

<hostingEnvironment shadowCopyBinAssemblies="false" />


您只需刷新(F5)页面。

好的,然后与版本无关。如果执行重建解决方案,应用程序是否运行?是的,我“清理”解决方案,重建,然后工作10-20分钟。然后我再次得到错误并重复。我在使用DotNetNuke时遇到同样的问题。在修复了一个错误的PortalAlias后,它神奇地消失了。奇怪的事情发生了。作为hostingenviroment设置的替代设置:将其添加到预生成事件命令行:IF EXIST$(TargetPath).LOCKED(del$(TargetPath).LOCKED)ELSE(IF EXIST$(TargetPath)(move$(TargetPath)$(TargetPath).LOCKED))我反复遇到这个错误,我很惊讶微软仍然没有解决这个问题。我们现在正在积极处理这个问题。由于很难重现,这使得修复问题更加困难。我重新提交了connect bug,以便MS客户能够跟踪它@RickAndMSFT-“真的很难复制”?这种情况经常发生(特别是在使用IIS Express时),请查看此帖子的浏览量。感谢您提供的链接,但进行了一些筛选。对我来说最有效的方法是“在成功构建之后,我数到十,然后刷新我的网络表单。”(虽然我只数到2)该链接对我来说最好的修复方法是“重新启动IIS”。我正在运行本地IIS,而不是Cassini作为我的开发web服务器。干杯另外,我正在使用VS2010,所以他们还没有修复它。它的工作原理与吸烟一样,问题会消失。它起作用了,因为这个问题的主要原因是试图在VS中完成构建过程之前访问网页。这很有趣,Zafar。你有更多的信息吗?这个虫子有时让我发疯!关于这一点,我唯一知道的是-当您尝试在依赖DLL之前访问网页时,会出现此错误