Project.csprojを編集します。エラーが発生したソリューションを再度開きます:プロジェクトxxxの詳細を読み込めなかったため、操作は失敗しました
Obj&binフォルダーを削除して、tool> optionsでヌゲットキャッシュをクリアしてみます。しかし、エラーはまだ存在します。
注:毎回エラーは発生しません。プロジェクトを3回再起動するだけです。最初と2番目が正しいです。しかし、3番目のエラーが発生します
vs2017:Microsoft Visual Studio Community 2017バージョン15.0.26228.9 D15RTWSVC Microsoft .NET Frameworkバージョン4.6.01586
パッケージマネージャーコンソールホストバージョン4.0.0.2323
私はちょうど同じ問題を抱えています。 Microsoftは問題を明らかに認識しており、次のリリースのプレビューで修正済みです。詳細については、次のコメントを参照してください。
https://developercommunity.visualstudio.com/comments/31393/view.html
それまでの間、回避策はVS2017を開き(ソリューションをロードせずに)、パッケージマネージャーコンソールを開き、完全にロードされるまで待ってからソリューションを開きます。
私はこの問題に何度か直面しましたが、1つを除くすべてがVisual Studio 2017を閉じてから再起動するによって解決されました。そうでない場合は、VSを再起動してみてください。それが失敗した場合は、より深刻な解決策を探してください。
VS 2017で、最新の.NET SDKアップデートで同じ問題に遭遇しました。しかし、ここに私が見つけた迅速で簡単な修正があります。
プロジェクトが開いている間に、「パッケージマネージャーコンソール」を開いて、'dotnet restore'
コマンドを実行します。
[パッケージマネージャーコンソール]ウィンドウで、上部の[パッケージソース]ドロップダウンが[すべて]に設定され、[デフォルトプロジェクト]がプロジェクト名に設定されていることを確認します。
@Keithと同様、2017年のプロジェクトファイルでは SemVer の結果でした。
.csproj
ファイルでは、<PackageReference... Version="1.1.*" />
を使用しています。ソリューションが最初に読み込まれると、パッケージマネージャーは以下を出力します。
Error occurred while restoring NuGet packages: The operation failed as details for project ProjectWebApi could not be loaded.
VS 2017 15.2 (26430.14)
では、実際の問題は発生していないようで、ソリューションは正常にロードおよびビルドされます。ローカルの.nugetキャッシュにない最新のパッケージバージョンが利用可能な場合は、ソリューションのスタートアップの一部としてダウンロードおよびインストールされます。プレリリースでテストしたり、パッチ番号に続くメタデータタグを作成したりしていません。
これを解決するには、Visual Studio 2017を再起動するだけで十分です。
これを試してください:プロジェクトの場所をよりシンプルな場所に変更します。例えば。デスクトップに配置します。
考えられる理由:パスに問題があるため、ロードできなかった可能性があります(スペース、特殊文字などが含まれていますか?)。
参照用:
私の古いパス:C:\Users\Corey\Google Drive\College\Semesters\2018\Spring\CSIS 434 (Programming)\Projects\Project 1
私の新しいパス:C:\Users\Corey\Desktop
結論:アンドリューのソリューションから、Microsoftはまだこの問題を修正しようとしているようです。とにかく、この回避策はあなたのために働くかもしれません!
これは、VS2017の SemVer に対する不十分なサポートが原因で起こりました。彼らはproject.json
ファイルでのサポートを開始しようとしましたが、.csproj
に翻訳するとき、なんとか壊れたものを作成することができました。
私が持っていた:
<Project ToolsVersion="15.0" Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<Version>0.2.1-alpha</Version>
...
これはコンパイルするという点でVS2017によって部分的にサポートされていますが、NuGetを壊し、.NETの一部が SemVerサフィックス を認識するため、他の多くの問題があります。
修正はサフィックスを削除することでした:
<Project ToolsVersion="15.0" Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<Version>0.2.1</Version>
...
これでNuGetが動作します。
.csproj内で、AssemblyName
タグの値がRootNamespace
タグの値と同じであることを確認してください。これは私のために働いた!
このエラーの原因となる別の問題も見つかりました。
プロジェクトのパッケージの詳細を追加し、1.0.0
などの3桁のバージョンを指定すると、このエラーが発生します。
バージョンを1.0.0.0
と指定すると、ソリューションは完全にビルドされます。これにより、csproj-fileでVersion
も設定されるため、somの内部検証が壊れると思います。
TL; DR:
実行:<Version>1.0.0.0</Version>
禁止事項:<Version>1.0.0</Version>
更新:キースの回答もご覧ください。