不明な理由により、PCのローカルフォルダーへの公開を拒否するMVCプロジェクトがあります。
ログには次のことが記録されています。
3>------ Publish started: Project: Admin, Configuration: Release Any CPU ------
3>Connecting to D:\Deploys...
3>Project "Admin.csproj" (GatherAllFilesToPublish target(s)):
3> Building with tools version "14.0".
3> Target "ValidateMSBuildToolsVersion" skipped. Previously built unsuccessfully.
3>Done building project "Admin.csproj" -- FAILED.
3>
========== Build: 2 succeeded, 0 failed, 1 up-to-date, 0 skipped ==========
========== Publish: 0 succeeded, 1 failed, 0 skipped ==========
リリースまたはデバッグ構成でデバッグの問題が発生していません。
だから私はそれを機能させた。
問題は「Microsoft.Net.Compilers」のバージョンでした。 v2.6.1からv2.4.0にダウングレードしました。
理由がわからないので、誰かが知っていれば知っておくといいでしょう。
スレッドを再度開いてすみませんが、私にとってソリューションのクリーニングは.NET.Compilers v2.7(Visual Studio 2015)で機能しました。
「Microsoft.Net.Compilers」をv2.9.0からv2.4.0にダウングレードすると、チャームのように機能します
まず、モード(デバッグまたはリリース)を選択します。次に、ソリューション/プロジェクトを右クリックして、[クリーン]を選択します。次に、再構築を選択します。次に公開します。
2.4.0にダウングレードするのではなく、NuGetパッケージ「Microsoft.Net.Compilers」を削除することで、問題を完全に解決できました。
(しばらくの間、単にVSを再起動すると発行エラーは消えますが、最終的には動作しなくなりました。)
ソリューションファイルを開いたときにバージョンセレクターが選択したVisual Studioのバージョンであるため、私はVisual Studio 2015からビルドおよびパブリッシュしていました。
代わりにVisual Studio 2017からソリューションファイルを開いてみましたが、公開に成功しました。
Microsoft.Net.Compilers
Nugetパッケージを削除してみてください。
私は多くのことを試しましたが、どれも成功しませんでした。私はこれを行い、出版は成功しました。確かに、BitBucketからプロジェクトを元の状態に復元し、パブリッシュが失敗することを確認するためにテストし、nugetパッケージを再度削除して、動作しました。
これはちょうど私に起こりました、それはその引数がGuidであるはずだったときに、かみそりテンプレートからViewComponent呼び出しでintを使用する単純なケースであることが判明しました。何らかの理由でIntellisenseがそれを検出しなかったため、ビルドプロセスのエラーを確認するために、詳細な冗長性を有効にする必要がありました。
Asp.net Core 2 MVC 2.1でこの問題が発生したため、ソリューションにMicrosoft.Net.Compilersはありませんでした。私はすべてのプロジェクトを再構築しようとしましたが、再びアンロード/ロードしましたが、変更はありませんでした。
1)それで、VS 2017 15.7.3を15.8.7にアップグレードしました
2)次に、ソリューションの各プロジェクトからすべてのbin/releaseディレクトリの内容を削除しました。
3)次に、ソリューション内の各プロジェクトからすべてのobjディレクトリの内容を削除しました。
4)その後、すべてのプロジェクトを1つずつ再構築しました。
その後、公開を試みましたが成功しました。
古いVisual Studioで手順2から試した場合、成功する可能性があります。
Properties> Build> AdvancedでC# 7.3
に切り替えましたが、誤ってDebug構成のみに切り替えました。 (リリース構成を使用して)公開するときは、C# 7.0
を使用していましたが、使用した言語機能の一部が欠けていました。
エラーはError Listペインには表示されず、Outputペインにのみ表示されました。
"All Configurations"の言語バージョンをC# 7.3
に設定すると、解決しました。
これは、Visual Studio 2017の現在のバージョンを使用しており、Microsoft.Net.Compilers
パッケージnotがプロジェクトに含まれています。