ClickOnce - Cannot publish because a project failed to build

会有一股神秘感。 提交于 2019-11-28 20:22:00

This is a problem with Visual Studio that can occur when you have add-ins installed. Instead of using the Publish button in the Publish tab, use Build/Publish from the menu on the top of Visual Studio.

If you use the Publish button, it runs through the add-ins before doing the build (or something like that). If you use Build from the menu instead, it goes straight to msbuild and ignores any add-ins you have installed.

If you have DevExpress installed and are still having problems, check out this article: http://www.devexpress.com/Support/Center/p/Q260132.aspx

With the date back to normal, close VS and try deleting your *.suo files next to the *.sln files and then reopen the solution

I'm not sure exactly how your development machine can get fouled up this way, but this started happening for several developers in our group too.

After researching it, it appears that the built in build/publish script that Visual Studio (2010 in our case) uses has a flaw in the order that it does things. Most importantly it runs a cleanup on the OBJ directory deleting the target EXE file before the publish step can grab it.

The solution
This is somewhat of a hacky workaround, but it solved the problem for me.

The fix is to copy the file back to the /obj/ folder from the /bin/ folder right before the publish step. Unfortunately there is no way that I know to specify a BeforePublish event through the IDE, so you will have to edit the .vbproj file in a text editor.

Add the following section just before the final </project> tag.

<Target Name="BeforePublish">
<Copy SourceFiles="$(TargetPath)" DestinationFolder="$(IntermediateOutputPath)" />
</Target> 
Rajko

I solved my problem. The problem was the "Modified" time of some files. I used the program Timestamp to fix it.

As I said in my question, the problem was that I build the solution and the date was in the future. Because of that, every time I pressed F5 Visual Studio was building the whole solution again and Publish ClickOnce wasn't working.

If nothing else works, try this :

  1. Set your date to the proper date.
  2. With VS closed, delete all the bin and obj folders of your solution.
  3. Create a new empty solution.
  4. Add your existing projects to the solution.
  5. Add back the needed references.
  6. Rebuild to make sure you didn't miss anything.
  7. Publish.

If you want, you can also just try step 1, 2, 6, 7 before, if you don't feel like making a new solution.

MU0r

Just create a new ClickOnce manifest certificate, and it will work again.

ptfaulkner

I have sometimes had problems with an ASP.NET project publishing, because the publish wizard couldn't delete files in the directory it was trying to publish the files to.

Try clearing out those file manually before publishing. Also check the output window; it will sometimes give you some hints as to why the publish failed.

UnhandledExcepSean

I just ran into the problem today. In my particular case, it was caused by Microsoft Windows Update, Microsoft Security Advisory 2661254 (concerning minimum certificate key length).

I uninstalled that update and publish began working as it always had. This is only a temporary work around and means you should probably regenerate your keys/certificates.

I've had this error when I'd been swapping git branches. A Rebuild All fixed this for me.

In my case, the problem arise when I added the following section in .csproj File:

<Target Name="AfterBuild">
</Target>

Closing and Opening Visual Studio worked for me.

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