VS2013发布失败,使用"无法复制文件MyAppName.exe.config,因为找不到它"

时间:2015-10-13 09:59:58

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

以下是我得到的错误:

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

无法复制文件" 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,因为我注意到这个块与它有关,但没有成功。

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

由于

1 个答案:

答案 0 :(得分:0)

我在VS 2013中遇到了错误消息。 当调试过程在异常中的某处停止时,通常会发生这种情况。 当clean + build无效时,关闭VS,删除&#39; bin&#39;和&#39; obj&#39;文件夹en openening VS再次到现在一直解决问题。

自VS2003以来该错误存在。比较此网站的其他31个答案。 另外:通常可以重命名文件,然后您可以将其删除。

回答:Visual Studio "Could not copy" .... during build