c# - "Publish Now"按钮不起作用,但构建 > 发布可以

标签 c# visual-studio-2010 visual-studio clickonce

在 Visual Studio 2010 中,我只有一个项目无法使用“立即发布”按钮发布。

enter image description here

enter image description here

如果我改为使用菜单选项发布,则效果很好。然后我可以增加版本号,单击“立即发布”(或使用“发布向导...”),并收到此错误:

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/

相关文章:

visual-studio - 无法加载文件或程序集 Microsoft.Expression.Interactions 和 GalaSoft.MvvmLight.Extras.WPF4

asp.net - 在 Visual Studio Web Developer Express 2010 中测试

c# - 在 edmx 中生成的类中带有外键的表缺少成员

c# - 有没有更好的方法来处理转换异常?

c# - 检查 DatePicker 值是否为 null

visual-studio-2010 - 使用 MSBuild 与 VS2010 生成的 vcxproj 文件作为目标 - 错误 MSB4066 ("attribute Label in element is unrecognized")

c# - 无法为泛型类型创建 TypeConverter

c# - 有没有办法记住或具体化 IEnumerable?

c++ - 如何减少 VS2010 项目构建的输出?

visual-studio - MSVC 可能/不太可能等效