【问题标题】:VS2013 publish fails with "Could not copy the file MyAppName.exe.config because it was not found"VS2013 发布失败并显示“无法复制文件 MyAppName.exe.config 因为找不到”
【发布时间】:2015-10-13 09:59:57
【问题描述】:

这是我得到的错误:

无法发布,因为项目构建失败。

无法复制文件“obj\Release\JobsRunner.exe.config”,因为找不到。

在搜索类似问题一小时后,我发现最接近的问题是缺少 exe 文件(我缺少配置文件),我尝试了建议的解决方案,但没有解决我的问题。

我发布这个问题的原因是: 一种。我仍然没有有效的解决方案 湾。我确实找到了一种解决方法,我想与遇到同样问题的人分享。

我的解决方法依赖于我愿意放弃发布我的配置文件的事实,因为我已经在发布目的地拥有了它​​的副本,并且在不久的将来它不会改变。 我所做的是编辑 .csproj 文件,我发现最后一个块是问题的原因:

<!--Override After Publish to support ClickOnce AfterPublish. Target replaces the untransformed config file copied to the deployment directory with the transformed one.-->
  <Target Name="AfterPublish">
    <PropertyGroup>
      <DeployedConfig>$(_DeploymentApplicationDir)$(TargetName)$(TargetExt).config$(_DeploymentFileMappingExtension)</DeployedConfig>
    </PropertyGroup>
    <!--Publish copies the untransformed App.config to deployment directory so overwrite it-->
    <Copy Condition="Exists('$(DeployedConfig)')" SourceFiles="$(IntermediateOutputPath)$(TargetFileName).config" DestinationFiles="$(DeployedConfig)" />
  </Target>

所以我认为问题在于发布过程试图覆盖一个不存在的文件或类似的东西,我删除了那个块。现在发布对我有用。

我也尝试禁用 ClickOnce,因为我注意到此块与它相关,但没有成功。

有没有比我丑陋的解决方法更好的解决方案? :)

谢谢

【问题讨论】:

  • 如果项目无法构建,那么就没有理由希望接下来发生的事情能够奏效。包括复制一个不存在的 .config 文件,因为您知道,它无法构建。关注第一个错误,而不是最后一个。
  • @HansPassant,你是对的,我很遗憾我没有提到当我尝试构建项目而不是发布它时,一切都很好并且没有问题。

标签: c# visual-studio visual-studio-2013 clickonce publishing


【解决方案1】:

我在 VS 2013 中遇到了错误消息。 大多数情况下,它发生在调试过程在异常中的某个地方停止时。 当 clean+build 无效时,关闭 VS,删除 'bin' 和 'obj' 文件夹然后再次打开 VS 到现在总能解决问题。

该错误自 VS2003 以来就存在。比较此站点以获取其他 31 个答案。 另外:重命名文件通常是可能的,然后你可以删除它。

回复者:Visual Studio "Could not copy" .... during build

【讨论】:

    猜你喜欢
    • 2014-09-30
    • 1970-01-01
    • 2016-01-08
    • 2017-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多