我在VS 2012中有一个Web应用程序项目,当我使用Web发布工具时,它成功地构建了,但没有将任何文件复制到发布目标(在这种情况下是文件系统)。

如果我看构建输出,我可以看到一切都被复制到obj\Release\Package\PackageTmp\正确,但然后我在构建输出中看到的是这样的:

4>完成建设项目“{project}.csproj”。 4>删除现有文件… 4>发布文件夹/… 4 > ========== 构建:3成功了,0失败,1最新的,0跳过 ========== ========== 发布:1成功,失败,0跳过 ==========

即使它说发布成功,但目标目录中没有用于发布的文件。

我在多个项目中看到过这种情况,有时似乎是解决方案/平台配置导致了这个问题,但我还不能确定造成这个问题的确切原因。

有人见过这种情况吗?或者有人知道如何让它正确工作吗?

更新:

我可能找到了一个变通办法。这又发生了,我把发布设置弄乱了。一旦我改变了设置选项卡上选择的配置到另一个配置,然后回到我想要使用的所有文件再次开始发布。希望这在未来的其他项目中也适用。

更新2:

我在Microsoft Connect上发布了一个bug,并从VS Web developer团队的开发人员那里得到了回复。他说他们已经在内部版本中修复了这个问题,并将很快发布发布工具的更新来修复这个问题。

更新3:

最近Visual Studio 2012 Update 2修复了这个问题


当前回答

我有一个Web应用程序,在解决方案中有其他几个引用的项目。在过去,我曾多次成功地使用单个Publish配置进行部署。我将过去错过的项目的项目配置从调试更改为发布。下一次尝试部署时,我遇到了这些症状,其中发布只是悄悄地失败了——它什么都不做,只说它成功了:

1>------ Build started: Project: Project, Configuration: DeployProduction Any CPU ------
1>  
2>Publishing folder /...
========== Build: 1 succeeded, 0 failed, 9 up-to-date, 0 skipped ==========
========== Publish: 1 succeeded, 0 failed, 0 skipped ==========

恢复它的唯一方法是清除发布配置文件,关闭Visual Studio以迫使其保存删除,重新打开它,并从头重新创建发布配置文件。一旦我这样做了,我就可以再次出版了。

Win8 VS2012,蹩脚的笔记本电脑。

其他回答

我终于自己找到了答案。以上所有的方法都不适合我。

我所做的是,我将项目移动到驱动c,将项目文件夹更改为更短的内容,然后boom它发布。

在我这边失败的原因是我有很长的项目名称/层次结构。

c:\用户\用户\桌面\合规管理系统\合规issue emanagementsystem \合规issue emanagementsystem

我想到了这一点,因为有时当我提取rar文件时,它说名称/路径太长。我以为它会和visual studio 2012发布一样。确实如此!

希望对你们有所帮助。

一个简单的解决方法是删除发布配置文件并创建一个新的配置文件。

当您右键单击解决方案并选择publish时,您就有了一个概要集。删除这个并创建一个新的。

这将解决问题。

从2010年切换到2012年,我就遇到了这个问题

我在Visual Studio生成的服务参考文件在整体路径长度方面变得太长时遇到过这种情况。

通过使用svcutil.exe重新生成服务引用来缩短它们,删除所有原始的服务引用文件。

Svcutil可以这样调用:

"C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\bin\NETFX 4.0 Tools\SvcUtil.exe" /language:CS http://myservice /namespace:*,My.Namespace

我的。命名空间应该替换为生成的服务代理中的现有命名空间(通常在Reference.cs文件中找到),以避免编译错误。

http://myservice应该替换为服务端点url。

我有一个Web应用程序,在解决方案中有其他几个引用的项目。在过去,我曾多次成功地使用单个Publish配置进行部署。我将过去错过的项目的项目配置从调试更改为发布。下一次尝试部署时,我遇到了这些症状,其中发布只是悄悄地失败了——它什么都不做,只说它成功了:

1>------ Build started: Project: Project, Configuration: DeployProduction Any CPU ------
1>  
2>Publishing folder /...
========== Build: 1 succeeded, 0 failed, 9 up-to-date, 0 skipped ==========
========== Publish: 1 succeeded, 0 failed, 0 skipped ==========

恢复它的唯一方法是清除发布配置文件,关闭Visual Studio以迫使其保存删除,重新打开它,并从头重新创建发布配置文件。一旦我这样做了,我就可以再次出版了。

Win8 VS2012,蹩脚的笔记本电脑。

修正-提供的各种解决方案都不适合我。在VS Community 2017, Windows Server 2012 R2中对我有用的是为用户更改TEMP和TMP环境变量,然后重新启动系统并再次部署(重新启动VS是不够的)。这些临时变量是VS发布临时变量的地方。

在改变临时变量后重新启动visual studio没有做到这一点,必须重新启动系统。