我有一个WPF C#4.0应用程序。之前我发布的项目很好,但突然之间,一个特定的项目开始不发布。成功构建后,我收到以下错误。Visual Studio 2010终极发布问题
错误2找不到文件'obj \ x86 \ Release \ CSCDemo.exe'。 CSCDemo.0
下一个错误是“没有发布”
我知道CSCDemo.exe是在发行文件夹,因为我检查。
Microsoft Visual Studio 2010 Service Pack 1是否解决了这个问题?
我有一个WPF C#4.0应用程序。之前我发布的项目很好,但突然之间,一个特定的项目开始不发布。成功构建后,我收到以下错误。Visual Studio 2010终极发布问题
错误2找不到文件'obj \ x86 \ Release \ CSCDemo.exe'。 CSCDemo.0
下一个错误是“没有发布”
我知道CSCDemo.exe是在发行文件夹,因为我检查。
Microsoft Visual Studio 2010 Service Pack 1是否解决了这个问题?
打包程序正在查看obj \ x86文件夹,而不是您的exe文件夹的正常bin \ release文件夹。我认为这个问题与打包者在错误的地方查找有关,或者你改变了CSCDemo项目的项目属性。你是否将它从x86应用程序改为x64?
要尝试的另一件事将是一个完整的重建。
事实上,我没有将它从x86改为x64,它只是不会构建的项目。其他构建没有任何问题。 – Jason 2011-05-02 19:58:18
您是否删除了所有动态创建的文件并完成了重建?也许该文件似乎在构建时存在,但事实并非如此。 – IAmTimCorey 2011-05-02 20:05:02
我不确定你的开发机器如何被这种方式弄脏,但是这也开始发生在我们团队的几个开发人员身上。
经过研究发现,Visual Studio(在我们的例子中为2010)使用的内置构建/发布脚本似乎存在缺陷。最重要的是,在发布步骤可以抓取目标EXE文件之前,它在OBJ目录上运行清除目标EXE文件。
解决方案
这有点的哈克解决方法,但它解决了这个问题对我来说。
修复方法是在发布步骤之前将文件从/bin/
文件夹复制回/obj/
文件夹。不幸的是,我不知道通过IDE指定一个BeforePublish事件,因此您必须在文本编辑器中编辑.vbproj文件。
在最后的</project>
标记前添加followign部分。
<Target Name="BeforePublish">
<Copy SourceFiles="$(TargetPath)" DestinationFolder="$(IntermediateOutputPath)" />
</Target>
我刚刚受到这个问题的困扰。看来我的Avast Anti-Virus在创建文件后立即删除它。我只是将我的项目文件夹添加到它的全局排除列表中,一切正常。
那吓人的东西只花了我一个小时。 – 2014-08-20 17:11:01
变化从86台到任何CPU将有助于
构建>配置管理器 对CSCDemo平台更改为任意CPU
的可能重复[ClickOnce的 - 无法发布,因为一个项目未能建立( http://stackoverflow.com/questions/7869129/clickonce-cannot-publish-because-a-project-failed-to-build) – JohnFx 2012-06-15 03:16:01