錯誤描述爲:這臺計算機上缺少此項目引用的 NuGet 程序包。使用“NuGet 程序包還原”可下載這些程序包。有關更多信息,請參見 http://go.microsoft.com/fwlink/?LinkID=322105。缺少的文件是
出問題的步驟記錄:
- 升級項目到 .netFramework 4.8
- 刪除 obj 文件夾
我的解決辦法是:打開對應的項目csproj文件,翻到最下面找到類似下面的節點
1 <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> 2 <PropertyGroup> 3 <ErrorText>這臺計算機上缺少此項目引用的 NuGet 程序包。使用“NuGet 程序包還原”可下載這些程序包。有關更多信息,請參見 http://go.microsoft.com/fwlink/?LinkID=322105。缺少的文件是 {0}。</ErrorText> 4 </PropertyGroup> 5 <Error Condition="!Exists('..\packages\Microsoft.Net.Compilers.2.4.0\build\Microsoft.Net.Compilers.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Net.Compilers.2.4.0\build\Microsoft.Net.Compilers.props'))" /> 6 <Error Condition="!Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.8\build\net45\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.8\build\net45\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props'))" /> 7 </Target>
刪掉 Target 節點內的東西即可。注意:雖然解決了編譯報錯,但是在啓動或者發佈時還有問題,所以這種方案沒有解決問題,僅僅是讓問題不提示了。