在Visual Studio 2010中,我只有一个项目无法使用“立即发布”按钮发布。
如果我使用菜单选项发布,它可以正常工作。然后我可以增加版本号,单击“立即发布”(或使用“发布向导...”),并收到此错误:
Cannot publish because a project failed to build.
但是,没有给出其他错误消息。我设法在清除之前获取输出屏幕的屏幕截图并翻转到错误列表选项卡,但没有提到任何错误。清洁&重建不能解决问题。
这两个选项的作用有何不同?为什么构建失败只有一种方式而不是另一种?
答案 0 :(得分:3)
由于“rebuild solution”和“clean Solution”无法解决这些问题,因此它可能是Bin中的日志或程序集。
此错误似乎是由各种问题引起的:
解决方案1。通过菜单Tools-> Options-> Project and Solutions->在Visual Studio 2010中构建和运行,将构建日志详细程度设置为Diagnostic。
之后,如果您构建并发布项目,则可以从“输出”窗口中查看详细的构建日志。从那里,我们应该获得有关它未能建立的原因的进一步信息。
解决方案2. 您是否偶然拥有Google桌面?如果您这样做,请关闭侧边栏并尝试一次。
解决方案3。 Click here for an another solution
解决方案4. 您是否与其他时区的人合作?将来修改的文件也可能导致此问题。 check this utility
解决方案5.
我建议你尝试在安全模式下运行Visual Studio,这将迫使visual studio仅加载默认环境和服务,以及第三方软件包的发布版本。如果问题消失,您可能会遇到一些带有错误的IDE工具版本。然后更新它们。
如果似乎没有任何效果,请尝试此操作。 * 解决方案6 * 在研究它之后,看起来Visual Studio(在我们的例子中是2010)使用的内置构建/发布脚本在它执行操作的顺序中存在缺陷。最重要的是,它会在OBJ目录上运行清理,删除目标EXE文件,然后发布步骤才能获取它。
解决方案 这有点像一个hacky解决方法,但它解决了我的问题。
修复方法是在发布步骤之前将文件从/ bin /文件夹复制回/ obj /文件夹。遗憾的是,我无法通过IDE指定BeforePublish事件,因此您必须在文本编辑器中编辑.vbproj文件。
在最终标记之前添加以下部分。
<Target Name="BeforePublish">
<Copy SourceFiles="$(TargetPath)" DestinationFolder="$(IntermediateOutputPath)" />
</Target>
答案 1 :(得分:1)
清洁和重建为我工作。似乎Google桌面和一些浏览器扩展经常导致此错误。寻找安全更新是很好的方法。
答案 2 :(得分:1)
我最终创建了一个新分支,该分支没有这个问题。我从未发现实际原因是什么。