以前のバージョンと.netバージョンで同じエラーが発生したことを確認しましたが、VS Community 15.3.5から15.4にアップグレードしようとしているときにVS 2017でこの問題に直面しています。
visual Studioは、プロジェクト「プロジェクト "ターゲット" GatherAllFilesToPublish "が存在しない」に問題があった」を除いて、プロジェクトをコンパイルしていました。
次に、「vs_community.exe --layout "C:\ MyFolder" --lang en-US」を使用してセットアップ全体をダウンロードしようとしましたが、ダウンロードが完了するまでに9時間以上かかりました。修復を選択してセットアップを再実行しましたが、これも同じ問題です。
この上の問題を解決するより速い方法を知っている人はいますか?
私は同様の問題があり、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" />
同じ問題が発生しました(Visual Studio 2017)。インストール-"MSBuild.Microsoft.VisualStudio.Web.targets" nugetパッケージをビジュアルスタジオにインストールします。そして、公開してみてください。
VS2017用のASP.Net Webデプロイメントコンポーネントをインストールするだけで、うまくいきました。
プロジェクトを前のバージョンからVS 2017にアップグレードした後、同様の問題が発生しました。csprojファイルに次の変更を加える必要がありました。
<PropertyGroup> <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion> <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) </VSToolsPath> </PropertyGroup>
<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" />
そして、プロジェクトを公開することができました。
これと同じ問題が発生したため、インストーラーを使用してVisual Studio 2017を新しいバージョンに更新しました。インストーラーが正常に完了しなかった。いくつかのエラーで完了しましたが、無視したので、エラーのあるコンポーネントの後に続くコンポーネントの多くがインストールされませんでした。エラーコンポーネントを解決した後、残りのインストールは最終的に正常に完了し、問題なく再び公開できました。
以前にインストールされなかったコンポーネントのいくつかは、新しいアップデートと互換性のない古いバージョンだったと思います。
エラーなしでVisual Studioを完全にインストール/更新してください。
どのパッケージがこれらのパスを変更しているのでしょうか?
鉱山は次のとおりです。
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildProgramFiles32)\MSBuild\Microsoft\VisualStudio\v14.0</VSToolsPath>
に変わった
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>