'Publish failed' but build succeeded?

asp.netVisual StudioVisual Studio-2008Publish

asp.net Problem Overview


When using Visual Studio 2008, when I "Publish Web Site", the application builds correctly, but then I get a "Publish failed" message:

enter image description here

What possible reasons are there for this, and how can I prevent it?

asp.net Solutions


Solution 1 - asp.net

I had the same issue. Nightmare to identify the problem, because the logs and outputs show no errors or failures. I simply get "Build: 39 succeeded" and "Publish: 1 failed".

I resolved the problem by systematically removing all NuGet packages one at a time (and removing code that references it) until I identified the offending one.

This takes a LONG time!

However, the answer for me was Microsoft.Net.Compilers.

No idea how I ended up with that in my project, but as soon as I removed that package, everything publishes fine again.

Edit - For what it's worth, this problem occurs on VS 2008, 2012 and 2015 but does not occur on 2017.

Solution 2 - asp.net

You can try this:

>1. Perform precompilation against the web application. >
>2. Clear the target directory(virtual directory in IIS or physical file > folder) and deploy all the files (of the web application) into the target > directory. > >In the output window you can check at which stage does the publish website >operation fail. For example, at the first stage, if there are some error >which will only occur at precompilation, that will cause the stage 1 fail. >Or some times if the target directory has something configured incorrectly. >Such as the IIS virtual dir is not set to the correct ASP.NET version or >some old files are locked and prevent them from being cleared. Mostly, >publish failed will be caused by IIS side configuration issue such as >authentication setting....

Source link

You can open the output window by pressing Ctrl+W, O.

Solution 3 - asp.net

Sometimes it's because you need to be running VS as Administrator to be able to write to the target directory.

Check the Output messages, they should help you solve the problem

Solution 4 - asp.net

I had to copy project to C:\a\ and than publish. I suspect problems with long path. Strange, but worked for me.

Solution 5 - asp.net

The conclusion is: Try another VS edition and see if that does it.

Here is what did it for me.

I have VS 2013 Pro and Visual Studio 2015 Community. I sort of use one or another to work on my MVC project and all was fine. Then all of the sudden VS 2013 could not publish though it would build just fine. There was no erros other than some silly ...code is not returned from all paths...

So when I open it in VS 2017 - it published the same project just fine. I am suspecting a compiling issue - be cause that was the stage it would fail at.

Hope that helps you save a bit of time.

Solution 6 - asp.net

Not sure if this happens in different versions of Visual Studio, but at least in 2015 Professional Edition, the problem arises when we try to update all Nuget packages from the solution using the Packages Manager.

As pointed out by @SimonGoldstone the issue is caused by the package "Microsoft.Net.Compilers". By default, the package gets added to the solution while creating a new web application. The default version 1.0.0 does not introduce any problems. I was able to keep testing with latest versions until 2.4.0 and everything works fine, but from 2.6.0 henceforth is when it all starts. If an update is strictly required, I would recommend updating the aforementioned package until version 2.4.0. After doing some research, seems that some bugs on later versions than 2.4.0 are introduced and not fixed on the long term. What is curious though, is how this problem gets included on Nuget with no basic quality control checkpoint.

Solution 7 - asp.net

There are many proposed solutions for this. I think they are overcomplicating the issue. I found the following worked for me:

  1. Locate the obj(Release or Debug) folder in your solution
  2. Inside the Release or Debug folder delete the CONTENTS of the 'AspnetCompileMerge' folder

Now try and publish.

Solution 8 - asp.net

Make sure you empty the target folder (manually) before publishing. Sometimes vs cant delete a file which will result in a failed publish

Solution 9 - asp.net

After trying a Rebuild, having other Projects in my Solution able to publish correctly, and changing my publish location to the C: drive (locally attached) instead of pushing to a mapped network drive, I was still having an issue where the only error output said:

========== Build: 5 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
========== Publish: 0 succeeded, 1 failed, 0 skipped ==========

My solution is targeting x86, but I think during a Git Merge, this project had it's profile switched to Any CPU. After creating an x86 profile for the project and having it match the target of the publish goal and of the active solution configuration, I was able to successfully publish again.

Solution 10 - asp.net

Check Project BIn directory. there must be a DLL of your page or control. which has to be recreated during publish. So exclude it or remove it

Solution 11 - asp.net

I ran into this same problem today and it was due to the Thumbs.db file that was created when I opened my images folder to look for an image. I deleted the file and the project deployed successfully. Hope this helps someone else in the same situation.

Solution 12 - asp.net

Delete publish profile and create another one . Worked for me

Solution 13 - asp.net

In my case, I was publishing to a directory in a mapped network drive, but the Output panel/window was indicating that the location didn't exist. The path was correct, and the drive was fully accessible. The problem resolved itself when I re-set the path to publish to in Visual Studio by using the ... button.

Solution 14 - asp.net

With me it was simple - the dist folder was locked. I unlocked it by an unlocker and the publishing resumed.

Solution 15 - asp.net

I have several user controls that are registered in the web.config, and have a ClassName in the .ascx file header. For normal builds everything works fine, but with a publish those class names were not recognized anymore. At some point I found out that the errors were not in my regular code files, but in copies in a temp directory for publishing.

I had "Precompile during publishing" turned on (to be found under Settings > File Publish Options). Turning that option off worked for me.

Solution 16 - asp.net

I had the same issue with VS2017 with a website project. Build worked, but publish gave me an error: Error CS0012: The type 'System.Net.Http.HttpMessageHandler' is defined in an assembly that is not referenced. You must add a reference to assembly 'System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. All my projects already had a reference to System.Net.Http so it was really confusing.

To fix it, I had to copy System.Net.Http.dll into my website project / bin folder so publish could find it and copy it to my web host. I found System.Net.Http.dll by looking at another project's references (a class library), then System.Net.Http.dll Properties, and seeing the path (C:\Program Files(x86)\Reference Assemblies\Microsoft\Framework.NetFramework\v4.6\System.Net.Http.dll).

Solution 17 - asp.net

i know iam late but i think it should use for someone whos searching for this query.

just uninstall all your nuget pakages , then clean and rebuilt solution , now click on publish , sure it works and u will see publishing starts and works correctly now

Solution 18 - asp.net

If any one had changed the version of the project file and related framework. then this type of issue happened.

please go to "C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\MSBuild\Microsoft\VisualStudio\v16.0\Web" location for visual studio published and build setting -> edit -> comment the force copy of all file section.

enter image description here

Solution 19 - asp.net

I was working on a feature branch, which was failing. I switched to Master, and works ok.

Solution 20 - asp.net

I had one file that was not found. I had copied in a png file to replace a jpg in the content folder , same name except filetype extension. Project built fine, but refused to build and publish . changed extension of file so it could find that file name and it worked - no errors amazing 1 thing wrong and everything else is an error.

Solution 21 - asp.net

What caused my issue was a little different, but has similarities to some of the reasons stated above.

I managed to trash my local copy of a given application and did a GIT hard reset to get the most recent from the repository in question. This in turn, wiped out the web.config file (which was not stored in the GIT repository for various reasons).

This cause configuration information for various NuGet packages to be "lost" (since it was stored in web.config).

Fortunately, I had "backed up" the web.config, so once I figured out it was not out there (a migration failed because I was unable to connect to the database), I was able to replace it.

Tried the publish again, after fixing the web.config, and everything worked perfectly.

Solution 22 - asp.net

If you are opting for the "Delete all existing files prior to publish" in the publish web dialog box, then make sure that the Visual Studio is started with Admin rights. Right click the Visual Studio and click Run as Administrator. Hope this helps.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionCurtisView Question on Stackoverflow
Solution 1 - asp.netSimonGoldstoneView Answer on Stackoverflow
Solution 2 - asp.netNaveenBhatView Answer on Stackoverflow
Solution 3 - asp.netNickView Answer on Stackoverflow
Solution 4 - asp.netvt100View Answer on Stackoverflow
Solution 5 - asp.netAlexey ShevelyovView Answer on Stackoverflow
Solution 6 - asp.netJoseph L.View Answer on Stackoverflow
Solution 7 - asp.netNeilRView Answer on Stackoverflow
Solution 8 - asp.netnvasquezView Answer on Stackoverflow
Solution 9 - asp.netlegistrateView Answer on Stackoverflow
Solution 10 - asp.netDilshadView Answer on Stackoverflow
Solution 11 - asp.netTammy SpencerView Answer on Stackoverflow
Solution 12 - asp.netAkbar AsghariView Answer on Stackoverflow
Solution 13 - asp.netSamView Answer on Stackoverflow
Solution 14 - asp.netimlarryView Answer on Stackoverflow
Solution 15 - asp.netmacnerdView Answer on Stackoverflow
Solution 16 - asp.netScott GuillaudeuView Answer on Stackoverflow
Solution 17 - asp.netsathish vView Answer on Stackoverflow
Solution 18 - asp.netPawan KumarView Answer on Stackoverflow
Solution 19 - asp.netispostbackView Answer on Stackoverflow
Solution 20 - asp.netKenView Answer on Stackoverflow
Solution 21 - asp.netKurt ShubertView Answer on Stackoverflow
Solution 22 - asp.netSandeep SuriView Answer on Stackoverflow