Visual Studio'发布'命令失败

问题描述 投票:6回答:11

我正在研究一个中等大小的WebForms项目。由于此处管理的特殊性,我必须将站点上载到远程服务器才能进行测试(没有localhost测试)。我在Visual Studio 2008中使用“发布”命令。有时,它甚至可以工作。大多数时候,我莫名其妙地在左下角看到“发布失败”的消息,没有更多详细信息。

我读过的几篇谷歌文章/论坛帖子建议将发布操作的目标本地文件夹设为所有人都可读/可写。无济于事。

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

c# asp.net visual-studio visual-studio-2008 publishing
11个回答
3
投票

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

我建议使用MSBuild从命令行运行发布。它不是那么简单,但是它可以工作(一旦您进入它)。


0
投票

只是添加到该线程中,我发现出于某种奇怪的原因,只有Mercurial文件才被发布到服务器,而其他所有内容都没有被复制。

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

阅读了有关S.O.的其他文章之后,我发现VS 2010和2012有很多,但涵盖2008年相同问题的数量并不多。

我发现的解决方法是删除[solution]suo文件,然后尝试发布。尽管花了很长时间才能完成,但这似乎可以完成工作。


0
投票

我在我的案例中发现并工作的内容。它是要使用不同版本的VS。

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

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

enter image description here

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

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


4
投票

值得检查输出窗口。我刚发布失败,因为我删除了VS之外的图像,因此VS抱怨找不到该图像,但是此信息仅显示在输出窗口中。

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


2
投票

此后,我发现这些特定的发布失败的原因是由于选中了“删除现有文件”选项。在Windows Vista上以非管理帐户使用Visual Studio 2008时,尝试删除现有文件时可能会导致权限错误。在遇到Visual Studio没有足够的权限删除文件时,发布将以静默方式失败。一旦在Vidual Studio外部手动删除了文件,发布就可以正常运行。

我在Windows 7上没有这个问题;我认为Windows 7中的UAC更改解决了该问题。


1
投票

我主要使用Web窗体,并且每天都会遇到此问题。在我看来,当发布未能删除要替换的文件时,发布失败。即使我没有打开任何文件,有时仍然会失败。不知道为什么。VS不仅发布失败非常频繁,而且发布速度也非常缓慢。我只是发布到空的本地目录,并使用单独的FTP客户端上载文件。这是更多的工作,但是有效。


1
投票

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


1
投票

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


0
投票

在经历了类似问题约30分钟之后,不知道是什么原因导致它关闭了VS并重新打开了我的项目。开始工作正常。不知道为什么,但它有效。


0
投票

您应该总是停止要发布到其上的计算机上运行的IIS实例。 Google单词“ iisreset”。 DiscountAsp和Arvixe等其他托管提供程序为您提供工具,以在其IIS上远程“停止”和“启动”您的应用程序池。这是非常必要的,因为IIS可能已将某些文件锁定为“ 使用中”,因此在尝试覆盖这些文件时,发布将失败。发布完成后,只需重新启动IIS(或者,如果您使用的是第三方托管服务提供商,则从Web工具中按“开始”)。

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


0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.