asp.net - 由于 .suo 文件,发布我的 Web 应用程序可能需要很长时间才能完成

标签 asp.net visual-studio-2010 asp.net-mvc-3 publish publishing

我有一个 Web 应用程序项目,我通过 Visual Studio 2010 发布到我的服务器。我的问题是它可能需要很长时间才能真正发布它。 也许 10 分钟 !它不会每次都发生,但经常发生。

以下是我尝试发布时在输出 -> 构建控制台中的内容摘要:

  • 项目正在编译 - OK
  • 正在连接到 C:\Users{user}\Desktop\MyProjectTest...( 这可能需要长达 10 分钟的时间 )
  • 文件正在发布...

  • enter image description here

    进程浏览器

    当我打开 ProcessExplorer 时,我看到 devenv.exe 正在占用所有 CPU。打开这个进程,看到消耗所有CPU的任务是 clr.dll!StrongNameSignatureVerification+0x11ee1 .此任务一完成,10 分钟后,发布任务很快完成。

    enter image description here

    进程监视器

    使用进程监视器,我有 监控 clr.dll 的 TID!StrongNAmeSignatureVerification 我有很多多余的事件。超过 5 分钟,任务尝试访问我的计算机上没有的文件。他正在寻找 Microsoft.Build.Task.resources.dll .就像发布任务一次又一次地尝试不存在的东西一样。供您引用,我正在使用 Windows 7 法语 Visual Studio 2010 英文版 .在屏幕截图上,您会看到同一事物的 2000 多个事件中的 10 个事件!

    enter image description here

    有关我的设置的更多信息

    以下是一些有助于识别问题的信息:
  • 我的应用程序是用 MVC3 构建的
  • 我有一些第三方 dll。其中一些是签名的。
  • 我正在使用文件系统方法进行发布。
  • 我试图在我的本地计算机上发布,但问题也存在,所以它不是我的计算机和我的服务器之间的网络问题。
  • 我已经在 Windows 7 x86 和 x64 上进行了测试 法语版
  • 我的 Visual Studio 2010 SP1 是 英文版


  • 更新 2011-09-23

    我现在知道如何解决问题 但是 我不知道是什么原因造成的。如果我 删除**.suo 文件(与 .sln 文件处于同一级别),然后我重新打开 Visual Studio,发布将非常快。因此,每次发布变慢时,重新初始化 .suo 文件似乎都可以解决问题。

    只是为了进行另一个测试,当发布速度很慢时,我对 .suo 文件进行了备份并将其删除。现在出版速度很快。如果我将.suo文件复制回他的位置并重新打开Visual Studio,发布将再次变慢。所以所有似乎都指向那个文件。

    对这个有什么想法吗?

    最佳答案

    我不确定是否是 suo 文件导致的,但对我来说,this解决了这个问题。

    编译后,发布将调用aspnet_compiler,这实际上需要更长的时间,因为它正在为所有代码生成自定义dll。

    但请检查您的 VSPackages ,是否有任何为某种解释而编写的包,这可能会中断您的发布。

    关于asp.net - 由于 .suo 文件,发布我的 Web 应用程序可能需要很长时间才能完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7422039/

    相关文章:

    javascript - 如何通过单击另一个页面的链接按钮调用按钮的单击事件而无需在 c# ASP.NET 中回发

    c++ - 如何在 VS2010 中痛饮?

    c# - 在 AssemblyInitialize 或 ClassInitialize 中检测 TestCategory 的方法?

    asp.net-mvc-3 - 将开源 CMS 框架集成到现有的 MVC3/MVC4 站点中

    c# - 通过 startDate 运行到 endDate 并将每条记录添加到 DB

    c# - 访问 Request.QueryString[foo] 为 null 但 URL 显示查询字符串/参数就在那里

    .net - 控件中的 id 自动更改

    c# - 正则表达式允许某些特殊字符与括号一起使用

    .net - 如何使用报表查看器 10.0 在 rdlc 中显示枚举的字符串表示形式

    c# - 为什么在 View 中检查 null 时会出现 NullReferenceException