我有一个WPF C#4.0应用程序。我之前发布的项目很好,但突然之间,一个特定项目开始不发布。成功构建后,我收到以下错误。
错误2找不到文件'obj \ x86 \ Release \ CSCDemo.exe'。 CSCDemo.0
下一个错误是'发布失败'
我知道CSCDemo.exe位于Release文件夹中,因为我选中了。
Microsoft Visual Studio 2010 Service Pack 1会修复此问题吗?
答案 0 :(得分:1)
打包器正在查看obj \ x86文件夹,而不是exe的普通bin \ release文件夹。我认为这个问题与打包器在错误的位置查找或者您更改了CSCDemo项目的项目属性有关。您是否已将其从x86应用程序更改为x64?
尝试的另一件事是完全重建。
答案 1 :(得分:1)
我刚刚遇到这个问题。我的Avast Anti-Virus似乎在创建后立即删除该文件。我刚刚将我的项目文件夹添加到它的全局排除列表中,一切正常。
答案 2 :(得分:0)
我不确定你的开发机器究竟是如何被这种方式搞砸的,但这也开始发生在我们小组的几个开发人员身上。
在研究之后,似乎Visual Studio(我们的案例中为2010)使用的内置构建/发布脚本在执行操作的顺序中存在缺陷。最重要的是,它会在OBJ目录上运行清理,删除目标EXE文件,然后发布步骤才能获取它。
解决方案
这有点像一个hacky解决方法,但它解决了我的问题。
修复方法是在发布步骤之前将文件从/obj/
文件夹复制回/bin/
文件夹。遗憾的是,我无法通过IDE指定BeforePublish事件,因此您必须在文本编辑器中编辑.vbproj文件。
在最终</project>
标记之前添加followign部分。
<Target Name="BeforePublish">
<Copy SourceFiles="$(TargetPath)" DestinationFolder="$(IntermediateOutputPath)" />
</Target>
答案 3 :(得分:0)
将平台从x86更改为任何CPU都有帮助
构建&gt;配置管理器 将CSCDemo平台更改为任何CPU