ClickOnce - 无法发布,因为项目无法构建

时间:2011-10-23 20:55:04

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

当我尝试发布我的(WPF,C#)应用程序时,我收到了以下错误:
无法发布,因为项目无法构建 找不到文件'obj \ x86 \ Debug \ MyAPP.exe'
无论发布在哪里,我都会收到这些错误:发布向导,构建菜单或右键单击项目 - 发布 首先它工作正常,但我做了以下事项:
我将计算机的日期更改为10/10/2013,我正在尝试别的东西。
我忘了这个,然后点击构建。然后我在电脑上设置了正确的日期。之后我得到了这些错误 每次我点击运行Visual Studio构建项目是否有项目更改 我还注意到,当我在2013年10月10日之后设置日期时,它可以正常工作 我猜我正在我的项目中寻找一些设置日期的设置。
我尝试了构建,重建,清洁解决方案。

10 个答案:

答案 0 :(得分:99)

这是安装了加载项时可能出现的Visual Studio问题。而不是使用“发布”选项卡中的“发布”按钮,而是使用Visual Studio顶部菜单中的“构建/发布”。

如果您使用“发布”按钮,它会在执行构建之前运行加载项(或类似的东西)。如果您使用菜单中的Build,它会直接进入msbuild并忽略您安装的任何加载项。

如果您安装了DevExpress且仍有问题,请查看以下文章: http://www.devexpress.com/Support/Center/p/Q260132.aspx

答案 1 :(得分:3)

日期恢复正常,关闭VS并尝试删除* .sln文件旁边的* .suo文件,然后重新打开解决方案

答案 2 :(得分:2)

我不确定你的开发机器究竟是如何被这种方式搞砸的,但这也开始发生在我们小组的几个开发人员身上。

在研究之后,似乎Visual Studio(我们的案例中为2010)使用的内置构建/发布脚本在执行操作的顺序中存在缺陷。最重要的是,它会在OBJ目录上运行清理,删除目标EXE文件,然后发布步骤才能获取它。

解决方案
这有点像一个hacky解决方法,但它解决了我的问题。

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

在最终</project>标记之前添加以下部分。

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

答案 3 :(得分:1)

如果没有别的办法,请试试这个:

  1. 将您的日期设置为正确的日期。
  2. 关闭VS后,删除解决方案的所有bin和obj文件夹。
  3. 创建一个新的空解决方案。
  4. 将现有项目添加到解决方案中。
  5. 添加所需的参考文献。
  6. 重建,以确保你没有错过任何东西。
  7. 发布。
  8. 如果您愿意,您也可以尝试之前的步骤1,2,6,7,如果您不想制作新的解决方案。

答案 4 :(得分:1)

只需创建一个新的ClickOnce清单证书,它就会再次运行。

答案 5 :(得分:0)

我有时遇到ASP.NET项目发布问题,因为发布向导无法删除尝试将文件发布到的目录中的文件。

尝试在发布前手动清除这些文件。还要检查输出窗口;它有时会给你一些提示,说明发布失败的原因。

答案 6 :(得分:0)

我今天遇到了这个问题。在我的特定情况下,它是由Microsoft Windows UpdateMicrosoft Security Advisory 2661254(关于最小证书密钥长度)引起的。

我卸载了更新和发布开始按原样运行。这只是一个临时工作,意味着您可能应该重新生成密钥/证书。

答案 7 :(得分:0)

当我交换git分支时,我遇到了这个错误。 A Rebuild All为我解决了这个问题。

答案 8 :(得分:0)

在我的情况下,当我在.csproj文件中添加以下部分时出现问题:

reverse(X)

答案 9 :(得分:0)

关闭和打开Visual Studio为我工作。