MSDeploy throws a strange error: streaming xxxxx.dll data is not yet available

I am deploying a number of .Net projects for different servers. For this, my team uses TFS to build, and then from the build template that calls the ps1 script, which uses msdeploy to switch to all different servers. All this is very enterprising and no, I can’t switch to something else right now. This process has been running for several months without any problems.

Today, deployment has been interrupted several times in a row by several errors. This itself bothers me (and may not be relevant), but now the one I get sequentially is this:

An error occurred while processing the request on the remote computer. The stream data 'C: \ Builds \ SomeDirectory \ obj \ Debug \ Package \ PackageTmp \ AReferencedProject.dll' is not yet available.

This error occurs when my script launches msdeploy. The DLL is used by the Windows service, but the service stops (as far as I can tell, stopping the service does not cause any errors), and the dll is not read-only. A DLL exists on the machine that builds / deploys, as well as the machine on which the deployment is performed.

I found that I can avoid this error if I remove the DLL that is "unavailable" from the server on which I am deploying, but the problem occurs immediately after each subsequent deployment, unless I manually delete this DLL before each deployment.

I saw this problem , but I do not insist on Azure, just on Windows Server 2008. Does anyone know why deploying the Microsoft website (msdeploy) would throw this error?

+6
source share
3 answers

I had the same problem. I tried to deploy a couple of times with the same error.

Recycling the application pool on the server solved the problem in order to start a regular deployment again.

+7
source

We constantly face this problem with SQLite.Interop.dll (used by ELMAH in our web application.) As far as I can tell, the problem is that the SQLite.Interop.dll DLL is used by our web application through ELMAH, and by what for this reason, this DLL is not copied in shadow font. The solution we use is what is recommended here to recycle the application pool for every deployment. Our team is like:

"C:\Program Files\IIS\Microsoft Web Deploy V3\msdeploy.exe" -verb:sync -source:recycleApp -dest:recycleApp="Default Web Site/ourApp",computerName="DeployComputer" 

This allows subsequent msdeploy, which synchronizes our deployment package with success. Someone answered this forum, also suggesting using "-enableRule: AppOffline", which we did not need to try.

+2
source

I suffer from the same question as you today, and, having met my question without an answer, began to pull my hair out ... There are only a few articles or suggestions on this issue that I almost gave up !!

However, I was able to solve this problem for myself, so I submit my solution to help myself and everyone who suffers from this problem.

For some reason, it seemed that my site and AppPool in IIS were a bit confused and started throwing an error, as described in the question above. To solve this problem, I deleted the original site (Stopped the Site and AppPool), created a completely new site and AppPool with the same settings that were published in it using WebDeploy, and now it seems to be behaving again.

This may not work for others, but hopefully gives people something else to try.

0
source

Source: https://habr.com/ru/post/944160/


All Articles