在 Visual Studio 2010 中,我只有一个项目无法使用“立即发布”按钮发布。
如果我改为使用菜单选项发布,则效果很好。然后我可以增加版本号,单击“立即发布”(或使用“发布向导...”),并收到此错误:
Cannot publish because a project failed to build.
但是,没有给出其他错误信息。在它清除并翻转到“错误列表”选项卡之前,我设法获取了输出屏幕的屏幕截图,但没有提到任何错误。清理和重建不能解决问题。
这两个选项有什么不同之处?为什么构建会以一种方式失败而不是另一种方式?
最佳答案
由于“重建解决方案”和“清理解决方案”并未解决这些问题,因此可能是 Bin 中的日志或程序集。
这个错误似乎是由各种问题引起的:
解决方案 1. 从菜单工具->选项->项目和解决方案->在 Visual Studio 2010 中构建并运行,将构建日志详细程度设置为诊断。
之后,如果您构建并发布项目,您可以从“输出”窗口中看到详细的构建日志。从那里,我们应该获得有关构建失败原因的更多信息。
解决方案 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 文件之前将其删除。
解决方案 这是一个有点棘手的解决方法,但它解决了我的问题。
修复方法是在发布步骤之前将文件从/bin/文件夹复制回/obj/文件夹。不幸的是,我不知道如何通过 IDE 指定 BeforePublish 事件,因此您必须在文本编辑器中编辑 .vbproj 文件。
在最后一个标签之前添加以下部分。
<Target Name="BeforePublish">
<Copy SourceFiles="$(TargetPath)" DestinationFolder="$(IntermediateOutputPath)" />
</Target>
关于c# - "Publish Now"按钮不起作用,但构建 > 发布可以,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17840159/