Publishing my web application can take long time to accomplish because of the .suo file

有些话、适合烂在心里 提交于 2019-12-14 03:39:58

问题


I have a web application project that I publish via Visual Studio 2010 to my server. My problem is that it can take very long time before it can actually publish it. Maybe 10 minutes! It doesnt happen everytime but very often.

Here's a summary of what i have in the Output -> Build console when I try to publish:

  • The project is compiling - OK
  • Connecting to C:\Users{user}\Desktop\MyProjectTest... (this is where it can take up to 10 minutes)
  • The files are publishing...

Process Explorer

When I open ProcessExplorer, I see that devenv.exe is taking all the CPU. When I open this process, I see that the task that consume all the CPU is clr.dll!StrongNameSignatureVerification+0x11ee1. As soon as this task finish, after 10 minutes, the publishing task finish quickly.

Process Monitor

With Process Monitor, I have monitored the TID of clr.dll!StrongNAmeSignatureVerification and I've got MANY redondant events. For over 5 minutes, the task try to access a file that I don't have on my computer. He is searching for Microsoft.Build.Task.resources.dll. It's like if the publishing task was trying again and again and again something that doesnt exist. For your information, I'm using Windows 7 French with Visual Studio 2010 English. On the screenshot, you see like 10 events of over 2000 events of the same thing!

More info on my setup

Here is some info that can help to identify the problem:

  • My application is build with MVC3
  • I have a few third party dlls. Some of them are signed.
  • I'm publishing with the File System method.
  • I tried to publish on my local computer and the problem is also there so its not a network problem between my computer and my server.
  • I have tested on Windows 7 x86 & x64 French edition
  • My Visual Studio 2010 SP1 is the English edition

UPDATE 2011-09-23

I now know how to solve the problem BUT I don't know what is causing it. If I delete the **.suo file (at the same level as the .sln file) and i reopen Visual Studio, the publishing will be really fast. So reinitializing the .suo file seems to solve the problem each time the publishing get slow.

Just to make another test, I've made a backup of the .suo file when the publishing was slow and deleted it. Now the publishing is fast. If I copy the .suo file back to his position and reopen Visual Studio, the publishing will be slow again. So all seems to point to that file.

Any idea on this one?


回答1:


I am not sure if it's a suo file that is causing, but for me, this solved the problem.

After compiling, the publish will call aspnet_compiler, which actually takes longer as it is generating custom dll for all code.

But check with your VSPackages, is there any package written for some interpretation or so, that might be interrupting your publish.




回答2:


Try this way

In order to deploy the release on the development or production server, please follow the following steps.

  1. Install Web Deployment MSI.
  2. Right Click on the your project under the solution explorer and add the web deployment project( Here I am not using convert to web application or publishing)
  3. Then compile the files. This will create a folder in your project directory which will contain the required files to be deploy on the server.
  4. Take the back up of your virtual directory and remove the virtual directory as well as files from inetpub.
  5. Goto Inet mgr , type inetmgr in run hit enter.
  6. Under the default website, create a virtual directory, keep the deployed files in the inetpub and browser the files.
  7. Allow appropriate access such as read, run script and browse. That's all

Flag it as your answer if you have find it useful else let me know ...



来源:https://stackoverflow.com/questions/7422039/publishing-my-web-application-can-take-long-time-to-accomplish-because-of-the-s

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!