我在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修复了这个问题


当前回答

我也有同样的问题,但没有一个答案在这个线程为我工作。我的问题是,有一个目录,其中包含动态生成(由我的应用程序)静态HTML文件。没有发布整个目录。

我找到了适合我的解决方案:

One issue I got a while back and thought I should document was that certain file types were not being uploaded when I published my project. The file types in question were .pdf files and .rtf. The reason this happened was because these file extensions were not recognized as requiring publishing by Visual Studio. Luckily this can be changed in Visual Studio. Select the file(s) that aren’t being copied. In Properties ensure that Build Action is set to Content. If this doesn’t work the following can be tried. Under the Project menu select Package/Publish Web and notice this drop down: Try changing this to All files in this project folder.

其他回答

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

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

我在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。

我在VS 2010上遇到了同样的问题,在检查发布输出,事件日志,打开和检查visual studio日志等之后,我决定删除web发布(通过添加/删除),我相信最近更新到v1.0.30810.0。这就解决了问题。

我也遇到了同样的问题。以上的方法对我来说都没用。

因此,我已经排除了在发布时未能复制的文件。

我做了好几个项目都遇到了同样的问题。唯一受欢迎的似乎是网络项目。删除和重新创建概要文件只能解决一次问题。此外,比较生成的publishxml不会产生任何差异,因此它似乎与概要文件完全无关。

OP提到的来回更改构建问题的变通方法似乎是目前唯一可靠的解决方案。