![](/img/trans.png)
[英]Latest Autofac version Doesn't support .Net Framework 4.6.2
[英]GetPathsOfAllDirectoriesAbove() cannot be evaluated after updating .Net Framework version (4.6.2 to 4.7.2)
升級后,您的構建工具似乎從 MSBUILD 更改為 Roslyn。 Microsoft.Managed.Core.targets是 Roslyn 目標文件。
如果您安裝了以下 Nuget 軟件包:
Microsoft.CodeDom.Providers.DotNetCompilerPlatform
Microsoft.Net.Compilers
那么可能是導致問題的原因。 將Microsoft.CodeDom.Providers.DotNetCompilerPlatform
升級到 2.x 並刪除第二個。 那應該可以解決問題。
遇到同樣的錯誤 - Microsoft.Net.Compilers
2.x (vs2017) 和 3.x (vs2019) 之間的兼容性問題 - 從 v3 降級到 v2 專門解決了我們只有 VS2017 的構建代理的問題。 v3 根據 roslyn-analyzers 發布規范需要 VS 2019 或更高版本。
根據相關錯誤Method 'System.String.GetPathsOfAllDirectoriesAbove' not found
- VS2017 甚至不會打開作為兼容性線索的 CSPROJ。
Microsoft.Net.Compilers
v3 安裝缺失功能的 CSPROJ 選項當我在舊項目中更新 Microsoft.Net.Compilers 時,這發生在我身上。 完全刪除 Microsoft.Net.Compilers,然后更新 Microsoft.CodeDom.Providers.DotNetCompilerPlatform 解決了我的問題。
嘗試使用舊版本的 Visual Studio 編譯 VS2019 項目時也會發生這種情況(例如,在構建服務器上或在 Azure DevOps 中)。
如果從答案https://stackoverflow.com/a/59276492/2279059應用解決方案后,錯誤變為
##[error]CSC(0,0): Error CS1617: Invalid option '8.0' for /langversion
那么很可能就是這種情況。 然后,解決方案是使用正確版本的 Visual Studio (2019) 進行構建。
當您通過 nuget 升級以下庫時,通常會出現此錯誤
Microsoft.CodeDom.Providers.DotNetCompilerPlatform
Microsoft.Net.Compilers
伙計們,如果您的項目由於此錯誤而未加載。 只需通過資源管理器轉到該項目位置並手動刪除 obj 文件夾。
然后右鍵單擊項目並重新加載。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.