【问题标题】:The target "GatherAllFilesToPublish" does not exist in the project项目中不存在目标“GatherAllFilesToPublish”
【发布时间】:2017-10-19 14:32:16
【问题描述】:

我已经检查过过去与早期的 vs .net 版本发生了同样的错误,但我在尝试从 VS Community 15.3.5 升级到 15.4 时在 VS 2017 中遇到了这个问题。

  • 我首先通过选择选项使用 Web 安装程序进行安装,
  • 有些错误,下载 + 安装耗时超过 9 小时

visual studio 正在工作和编译项目,但出现“项目中不存在目标“GatherAllFilesToPublish”的问题。

然后我尝试使用 "vs_community.exe --layout "C:\MyFolder" --lang en-US" 下载整个设置,这又花了 9 个小时才完成下载。重新运行设置选择修复,同样的问题。

有人知道解决上述问题的更快方法吗?

【问题讨论】:

    标签: visual-studio-2017 visual-studio-community


    【解决方案1】:

    我有类似的问题,通过更改 csproj 文件解决了:

    <Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" Condition="false" />
    

    改为

    <Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v15.0\WebApplications\Microsoft.WebApplication.targets" Condition="true" />
    

    【讨论】:

    • 我猜这个错误是用旧版本的VS创建的项目在新版本中加载时发生的。我也遇到了这个错误。我在VS2017中打开了一个VS2010项目,出现了这个错误。按照 Mohammad Reza Sadreddini 的建议进行更改对我有用。
    • 这里也一样。我在 2008 年从 VS 项目升级到 VS2017,是的,迁移没有成功,因为它没有更新该行。现在它起作用了。谢谢
    【解决方案2】:

    我遇到了同样的问题(Visual Studio 2017)。 将“MSBuild.Microsoft.VisualStudio.Web.targets”nuget 包安装到 Visual Studio。然后尝试发布。

    【讨论】:

    【解决方案3】:

    只需为 VS2017 安装 ASP.Net Web 部署组件,它对我有用。

    【讨论】:

      【解决方案4】:

      在我将项目从以前的版本升级到 VS 2017 后,我也遇到了类似的问题。我必须在 csproj 文件中进行以下更改。

      1. 从 csproj 文件中取消注释以下代码部分(它已经作为注释出现,不知道为什么它在自动升级时没有更改。如果没有,请添加下面的代码行。)
      <PropertyGroup>
          <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
          <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) 
          </VSToolsPath>
      </PropertyGroup>
      
      1. 确保 csproj 文件中存在以下 3 个导入。 (这些也存在,但如果没有,请手动添加)
      <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
      <Import Project="$(VSToolsPath)\WebApplications\Microsoft.WebApplication.targets" Condition="'$(VSToolsPath)' != ''" />
      <Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" Condition="false" />
      

      然后我就可以发布项目了。

      【讨论】:

      • 经过多次尝试,这是胜者配置,VS2019
      【解决方案5】:

      我想知道哪些软件包正在改变这些路径?

      我的如下:

      <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildProgramFiles32)\MSBuild\Microsoft\VisualStudio\v14.0</VSToolsPath>
      

      改为

      <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
      

      同样的问题:https://stackoverflow.com/a/48545538/231821

      【讨论】:

        【解决方案6】:

        我遇到了同样的问题,我通过安装程序将 Visual Studio 2017 更新到了较新的版本。 安装程序从未成功完成。它完成了一些错误,我只是忽略了很多未安装的组件,这些组件出现在有错误的组件之后。在我解决了错误组件之后,剩下的安装终于成功完成了,我可以再次发布没有问题。

        我认为以前未安装的某些组件是旧版本,与新更新不兼容。

        尝试完全没有错误地安装/更新您的 Visual Studio。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2011-06-08
          • 2016-04-17
          • 2014-07-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多