【问题标题】:Visual Studio 2010 Ultimate Publish ProblemVisual Studio 2010 Ultimate 发布问题
【发布时间】:2011-05-02 14:00:29
【问题描述】:

我有一个 WPF C# 4.0 应用程序。我之前发布项目很好,但突然之间一个特定的项目开始不发布。成功构建后出现以下错误。

错误 2 找不到文件 'obj\x86\Release\CSCDemo.exe'。 CSCDemo.0

下一个错误是“发布失败”

我知道 CSCDemo.exe 在 Release 文件夹中,因为我检查过。

Microsoft Visual Studio 2010 Service Pack 1 会解决这个问题吗?

【问题讨论】:

标签: wpf visual-studio-2010 c#-4.0


【解决方案1】:

打包程序正在查看 obj\x86 文件夹,而不是您的 exe 的普通 bin\release 文件夹。我认为这个问题与打包程序查找错误的位置或您更改了 CSCDemo 项目的项目属性有关。您是否已将其从 x86 应用程序更改为 x64?

要尝试的另一件事是完全重建。

【讨论】:

  • 事实上,我并没有将它从 x86 更改为 x64,只是那个项目不会构建。其他人构建没有任何问题。
  • 您是否删除了所有动态创建的文件并进行了完整的重建?也许该文件在构建时似乎在那里,但实际上并非如此。
【解决方案2】:

我刚遇到这个问题。我的 Avast Anti-Virus 似乎在创建文件后立即删除了该文件。我刚刚将我的项目文件夹添加到它的全局排除列表中,一切都恢复正常了。

【讨论】:

  • 那个该死的东西只花了我一个小时。
【解决方案3】:

我不确定您的开发机器是如何被这种方式弄脏的,但我们小组中的几位开发人员也开始发生这种情况。

经过研究,Visual Studio(在我们的案例中为 2010)使用的内置构建/发布脚本似乎在其执行顺序方面存在缺陷。最重要的是,它会在发布步骤抓取目标 EXE 文件之前对 OBJ 目录进行清理。

解决方案
这是一个有点老套的解决方法,但它为我解决了这个问题。

解决方法是在发布步骤之前将文件从/bin/ 文件夹复制回/obj/ 文件夹。不幸的是,我无法通过 IDE 指定 BeforePublish 事件,因此您必须在文本编辑器中编辑 .vbproj 文件。

在最后的</project> 标记之前添加followign 部分。

<Target Name="BeforePublish">
<Copy SourceFiles="$(TargetPath)" DestinationFolder="$(IntermediateOutputPath)" />
</Target> 

【讨论】:

  • 在发布多个问题的复制和粘贴样板/逐字答案时要小心,这些往往会被社区标记为“垃圾邮件”。如果您这样做,则通常意味着问题是重复的,因此请将它们标记为:stackoverflow.com/questions/7869129/…
  • 对不起。我只是一直在谷歌上搜索这个并在今天搜索这个答案,而我去的每一个地方都是一个没有 A 的 Q。试图帮助其他人避免我的命运。
【解决方案4】:

将平台从 x86 更改为任何 CPU 都会有所帮助

构建>配置管理器 将针对 CSCDemo 的平台更改为 Any CPU

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-09-04
    • 1970-01-01
    • 1970-01-01
    • 2011-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-17
    相关资源
    最近更新 更多