'发布失败'但构建成功了吗?

Cur*_*urt 46 asp.net publish visual-studio-2008 visual-studio

使用Visual Studio 2008时,当我"发布网站"时,应用程序正确构建,但随后我收到"发布失败"消息:

在此输入图像描述

有什么可能的原因,我该如何预防呢?

Sim*_*one 58

我遇到过同样的问题.梦魇来识别问题,因为日志和输出显示没有错误或失败.我只是得到"Build:39 succeeded"和"Publish:1 failed".

我通过系统地一次删除所有NuGet包(并删除引用它的代码)解决了这个问题,直到我找到了有问题的包.

这需要很长时间!

但是,对我来说,答案是Microsoft.Net.Compilers.

不知道我是如何在我的项目中得到的那样,但是一旦我删除了那个包,一切都会再次发布.

编辑 -对于它的价值,于2008年VS,2012年和2015年出现此问题,但并没有对2017年发生.

  • 这也是我的问题,谢谢.我必须首先删除_CodeDom.Providers.DotNetCompilerPlatform_,因为它依赖于_Net.Compilers_. (10认同)
  • FWIW,如果我使用的是Microsoft.Net.Compilers的2.4版,那么我的发布会成功.如果我升级则无法发布. (3认同)

Nav*_*hat 16

你可以试试这个:

  1. 对Web应用程序执行预编译.

  2. 清除目标目录(IIS或物理文件文件夹中的虚拟目录)并将(Web应用程序的)所有文件部署到目标目录中.

在输出窗口中,您可以检查发布网站操作失败的阶段.例如,在第一阶段,如果某些错误仅在预编译时发生,则会导致阶段1失败.或者有时如果目标目录配置错误.例如IIS虚拟目录未设置为正确的ASP.NET版本或某些旧文件被锁定并阻止它们被清除.大多数情况下,发布失败将由IIS端配置问题引起,如身份验证设置....

来源链接

您可以按Ctrl+ W,打开输出窗口O.


Nic*_*ick 9

有时这是因为您需要以管理员身份运行VS才能写入目标目录.

检查输出消息,它们应该可以帮助您解决问题


vt1*_*100 5

我不得不将项目复制到C:\a\发布。我怀疑长路径有问题。奇怪,但对我有用。