Visual Studio“发布”命令失败

时间:2009-04-29 20:46:50

标签: c# asp.net visual-studio visual-studio-2008 publishing

我正在开发一个中等规模的WebForms项目。由于这里管理的特殊性,我必须将站点上传到远程服务器以进行测试(没有本地主机测试)。我在Visual Studio 2008中使用“发布”命令。有时,它甚至可以工作。大多数时候,我莫名其妙地在左下角发布了“发布失败”,没有进一步的细节。

我读过的几篇google文章/论坛帖子建议让发布操作的目标本地文件夹可供所有人阅读/写入。没有帮助。

是否有办法获得有关VS2008中发布失败的详细信息,如果没有,是否有更好的方法来进行这些部署?我花了更多的时间来构建/推送到Web服务器,而不是实际调试。

11 个答案:

答案 0 :(得分:4)

值得检查输出窗口。我刚刚发布了一个发布失败的原因,因为我删除了VS以外的图像,所以VS抱怨无法找到图像,但此信息仅显示在输出窗口中。

有关更多信息,请参阅此链接: http://ericfickes.com/2009/08/find-out-why-visual-studios-publish-fails/

答案 1 :(得分:3)

当标记(!)出错时,我们就会发生这种情况。不好的是,VS只会吞下错误并告诉你失败。

我建议使用MSBuild从命令行运行发布。它不是那么简单,但它有效(一旦你进入它)。

答案 2 :(得分:2)

我发现这些特定发布失败的原因是由于正在检查“删除现有文件”选项。在Windows Vista上的非管理帐户下使用Visual Studio 2008可能会在尝试删除现有文件时导致权限错误。在遇到Visual Studio没有足够的删除权限的文件后,发布将无提示失败。在Vidual Studio外部手动删除文件后,发布功能正常。

我对Windows 7没有这个问题;我假设Windows 7中的UAC更改解决了这个问题。

答案 3 :(得分:1)

我主要使用Web窗体,每天都遇到这个问题。 在我看来,当它无法删除它试图替换的文件时,发布失败。即使我没有打开任何文件,它有时仍会失败。不知道为什么。 不仅VS发布经常失败,它也很痛苦。 我只是发布到空本地目录并使用单独的FTP客户端上传文件。这是更多的工作,但有效。

答案 4 :(得分:1)

对您而言可能并非如此,但我在发布网站时已经看到过这种情况。如果未从项目中排除app_offline.htm文件(如果您使用此文件),则发布将失败。

答案 5 :(得分:1)

同样的事情发生在我身上..我所做的是包括未包含在项目中的图像文件,并删除未使用的图像。

答案 6 :(得分:0)

在与类似问题挣扎约30分钟后,没有任何线索导致它关闭VS并重新打开我的项目。开始工作正常。不知道为什么,但它有效。

答案 7 :(得分:0)

您应始终停止正在发布的计算机上运行的IIS实例。谷歌“ iisreset ”这个词。其他托管服务提供商如DiscountAsp和Arvixe为您提供远程“停止”和“启动”其IIS上的应用程序池的工具。这是非常必要的,因为IIS可能已将某些文件锁定为“ in use ”,因此当您尝试对其进行写操作时,您的发布会失败。发布完成后,只需重新启动IIS(如果您使用的是第三方托管服务提供商,请从网络工具中按“开始”)。

当所有其他方法都失败时,请检查“输出”窗口(Visual Studio底部“错误列表”右侧的选项卡)。在发布失败后滚动浏览所有内容并查找“无法添加”的任何内容。如果您在同一个发布中看到相同的“无法添加”错误,则ftp进入该文件夹,手动删除有问题的文件,然后再次尝试发布。

答案 8 :(得分:0)

当我的ProjectName.Publish.xml文件是只读时,我得到了这个。一旦我从源代码控制中检查了文件,我就不再收到错误并且可以发布。

答案 9 :(得分:0)

为了添加到这个帖子,我发现,由于一些奇怪的原因,只有Mercurial文件被发布到服务器,其他一切都没有被复制。

另一个奇怪的事情是只有 Debug 配置可用; 发布无处可见。

在阅读了S.O.周围的其他主题之后,我发现VS 2010和2012有很多,但是在2008年没有多少内容可以解决。

我发现修复程序是删除 [solution] suo 文件,然后尝试发布。这似乎完成了这项工作,但需要很长时间才能完成。

答案 10 :(得分:0)

我发现并在我的情况下工作的内容。它是要使用不同版本的VS。

我最近遇到了问题,该解决方案可以在VS2015的构建,编译和测试中完美运行。

但是,当我尝试发布时却失败了。 enter image description here 因此,我关闭了解决方案并使用VS2017打开了该解决方案,该解决方案对项目/解决方案使用相同的文件结构。然后重建它并发布,没有任何问题。

enter image description here

我认为这可能与VS有关,调试起来很复杂。

如果您在本地计算机上使用多个Vs实例,这是一种解决方法。