我在 VS 2012 中有一个 Web 应用程序项目,当我使用 Web 发布工具时,它会成功构建,但不会将任何文件复制到发布目标(在本例中为文件系统)。
如果我查看构建输出,我可以看到所有内容都正确复制到了 obj\Release\Package\PackageTmp\,但是我在构建输出中看到的只是:
4>完成构建项目“{Project}.csproj”。 4>删除现有文件… 4>发布文件夹/… 4> ========== 构建:3成功,0失败,1最新,0跳过===== ===== ========== 发布:1 成功,0 失败,0 跳过 ==========
即使它说发布成功,发布的目标目录中也没有文件。
我在多个项目中都看到过这种情况,有时似乎是解决方案/平台配置导致了这个问题,但我无法确定确切的原因。
有没有其他人看到这种情况发生或知道如何让它正常工作?
更新:
我可能已经找到了解决方法。我刚刚再次发生这种情况,并且我正在搞乱发布设置。一旦我将“设置”选项卡上的选定配置更改为另一种配置,然后返回到我想要使用的所有文件,我的所有文件都再次开始发布。希望这适用于未来的其他项目。
更新 2:
我在 Microsoft Connect 上发布了一个错误,并收到了 VS Web 开发团队的一位开发人员的回复。他说他们已经在内部构建中解决了这个问题,并将很快发布发布工具的更新来解决这个问题。
更新 3:
这最近已通过 Visual Studio 2012 Update 2 修复
这可能是由使用 vs2012 的 RC 创建的解决方案/项目引起的。这在几个月前发生在我身上,并通过确保我的解决方案构建配置与我的项目配置相匹配来解决问题......
我最近在使用 VS2012 Express for Web 打开最初在 vs2012RC 中创建的相同解决方案时遇到了同样的问题。我完全按照原始海报的建议做了,它解决了我的问题。
这是引导我找到答案的线索:
connect.microsoft.com/VisualStudio/feedback/details/746321/publish-web- application- fails
上述对话中对我有帮助的相关回应是:
Microsoft 于 2012 年 6 月 13 日下午 12:00 发布 这是我们如何处理解决方案配置与项目配置的一个错误。我们错误地假设它们是相同的(例如,Solution 的 Release|x86 会将每个项目也设置为 Release|x86),这导致我们使用错误的构建属性来发布文件。 解决方法是使解决方案配置和构建配置匹配。此问题将在 Visual Studio 2012 的下一版本中修复。 谢谢, - Jimmy Lewis SDET,视觉 Web 开发团队
Microsoft 于 2012 年 6 月 13 日下午 12:00 发布
这是我们如何处理解决方案配置与项目配置的一个错误。我们错误地假设它们是相同的(例如,Solution 的 Release|x86 会将每个项目也设置为 Release|x86),这导致我们使用错误的构建属性来发布文件。
解决方法是使解决方案配置和构建配置匹配。此问题将在 Visual Studio 2012 的下一版本中修复。
谢谢, - Jimmy Lewis SDET,视觉 Web 开发团队