OmniSharp.MSBuild.ProjectManager 尝试更新未加载的项目:
OmniSharp.MSBuild.ProjectManager Attempted to update project that is not loaded:
我开始使用 VS 代码开发 Asp.net Core web API。但是当我输入代码时 Intellisense/Suggestions 无法正常工作。我在他们输入 using Microsoft.
时在互联网上的一些资源中看到,
EntityFrameworkCore
显示为建议。但就我而言,它没有显示。在 OmniSharp
日志中向我显示以下错误。
Starting OmniSharp server at 4/5/2019, 3:37:16 PM
Target: c:\Dotnet Core\NgWebApi
OmniSharp server started.
Path: C:\Users\Acer\.vscode\extensions\ms-vscode.csharp-1.18.0\.omnisharp.32.11\OmniSharp.exe
PID: 13684
[info]: OmniSharp.Stdio.Host
Starting OmniSharp on Windows 6.2.9200.0 (x64)
[info]: OmniSharp.Services.DotNetCliService
DotNetPath set to dotnet
[info]: OmniSharp.MSBuild.Discovery.MSBuildLocator
Located 1 MSBuild instance(s)
1: StandAlone 15.0 - "C:\Users\Acer\.vscode\extensions\ms-vscode.csharp-1.18.0\.omnisharp.32.11\msbuild.0\Bin"
[info]: OmniSharp.MSBuild.Discovery.MSBuildLocator
MSBUILD_EXE_PATH environment variable set to 'C:\Users\Acer\.vscode\extensions\ms-vscode.csharp-1.18.0\.omnisharp.32.11\msbuild.0\Bin\MSBuild.exe'
[info]: OmniSharp.MSBuild.Discovery.MSBuildLocator
Registered MSBuild instance: StandAlone 15.0 - "C:\Users\Acer\.vscode\extensions\ms-vscode.csharp-1.18.0\.omnisharp.32.11\msbuild.0\Bin"
CscToolExe = csc.exe
CscToolPath = C:\Users\Acer\.vscode\extensions\ms-vscode.csharp-1.18.0\.omnisharp.32.11\msbuild.0\Bin\Roslyn
MSBuildExtensionsPath = C:\Users\Acer\.vscode\extensions\ms-vscode.csharp-1.18.0\.omnisharp.32.11\msbuild
MSBuildToolsPath = C:\Users\Acer\.vscode\extensions\ms-vscode.csharp-1.18.0\.omnisharp.32.11\msbuild.0\Bin
[info]: OmniSharp.Cake.CakeProjectSystem
Detecting Cake files in 'c:\Dotnet Core\NgWebApi'.
[info]: OmniSharp.Cake.CakeProjectSystem
Could not find any Cake files
[info]: OmniSharp.WorkspaceInitializer
Project system 'OmniSharp.DotNet.DotNetProjectSystem' is disabled in the configuration.
[info]: OmniSharp.MSBuild.ProjectSystem
No solution files found in 'c:\Dotnet Core\NgWebApi'
[info]: OmniSharp.MSBuild.ProjectManager
Queue project update for 'c:\Dotnet Core\NgWebApi\NgWebApi.csproj'
[info]: OmniSharp.Script.ScriptProjectSystem
Detecting CSX files in 'c:\Dotnet Core\NgWebApi'.
[info]: OmniSharp.Script.ScriptProjectSystem
Could not find any CSX files
[info]: OmniSharp.WorkspaceInitializer
Invoking Workspace Options Provider: OmniSharp.Roslyn.CSharp.Services.CSharpWorkspaceOptionsProvider
[info]: OmniSharp.MSBuild.ProjectManager
Loading project: c:\Dotnet Core\NgWebApi\NgWebApi.csproj
[info]: OmniSharp.WorkspaceInitializer
Configuration finished.
[info]: OmniSharp.Stdio.Host
Omnisharp server running using Stdio at location 'c:\Dotnet Core\NgWebApi' on host 17188.
[warn]: OmniSharp.MSBuild.ProjectManager
Failed to load project file 'c:\Dotnet Core\NgWebApi\NgWebApi.csproj'.
c:\Dotnet Core\NgWebApi\NgWebApi.csproj(1,1)
Microsoft.Build.Exceptions.InvalidProjectFileException: The SDK 'Microsoft.NET.Sdk.Web' specified could not be found. c:\Dotnet Core\NgWebApi\NgWebApi.csproj
at Microsoft.Build.Shared.ProjectErrorUtilities.ThrowInvalidProject(String errorSubCategoryResourceName, IElementLocation elementLocation, String resourceName, Object[] args)
at Microsoft.Build.Evaluation.Evaluator`4.ExpandAndLoadImportsFromUnescapedImportExpressionConditioned(String directoryOfImportingFile, ProjectImportElement importElement, List`1& projects, Boolean throwOnFileNotExistsError)
at Microsoft.Build.Evaluation.Evaluator`4.ExpandAndLoadImports(String directoryOfImportingFile, ProjectImportElement importElement)
at Microsoft.Build.Evaluation.Evaluator`4.EvaluateImportElement(String directoryOfImportingFile, ProjectImportElement importElement)
at Microsoft.Build.Evaluation.Evaluator`4.PerformDepthFirstPass(ProjectRootElement currentProjectOrImport)
at Microsoft.Build.Evaluation.Evaluator`4.Evaluate(ILoggingService loggingService, BuildEventContext buildEventContext)
at Microsoft.Build.Evaluation.Project.Reevaluate(ILoggingService loggingServiceForEvaluation, ProjectLoadSettings loadSettings)
at Microsoft.Build.Evaluation.Project.ReevaluateIfNecessary(ILoggingService loggingServiceForEvaluation, ProjectLoadSettings loadSettings)
at Microsoft.Build.Evaluation.Project.Initialize(IDictionary`2 globalProperties, String toolsVersion, String subToolsetVersion, ProjectLoadSettings loadSettings)
at Microsoft.Build.Evaluation.Project..ctor(String projectFile, IDictionary`2 globalProperties, String toolsVersion, String subToolsetVersion, ProjectCollection projectCollection, ProjectLoadSettings loadSettings)
at Microsoft.Build.Evaluation.ProjectCollection.LoadProject(String fileName, IDictionary`2 globalProperties, String toolsVersion)
at OmniSharp.MSBuild.ProjectLoader.EvaluateProjectFileCore(String filePath)
at OmniSharp.MSBuild.ProjectLoader.BuildProject(String filePath)
at OmniSharp.MSBuild.ProjectFile.ProjectFileInfo.Load(String filePath, ProjectLoader loader)
at OmniSharp.MSBuild.ProjectManager.LoadOrReloadProject(String projectFilePath, Func`1 loader)
[fail]: OmniSharp.MSBuild.ProjectManager
Attempted to update project that is not loaded: c:\Dotnet Core\NgWebApi\NgWebApi.csproj
我重新安装了 VS Code 和 C#
, C# Extention
来解决这个问题,但它仍然出现。我认为原因是未显示 Intellisense/Suggestions 项目未正确加载。谁能告诉我如何避免此错误以及如何解决 Intellisense/Suggestions 未显示问题。
为了解决这个问题,我做了几件事。首先,我通过安装他们的测试版来降级 OmniSharp
版本。将该版本的 .vsix
文件下载到我的机器上。使用以下步骤将 .vsix
安装到 Visual Studio 代码中。
- 从菜单中打开 Visual Studio 代码和 select 查看-> 扩展以显示扩展窗格
- 通过单击“扩展”窗格右上角的
...
和菜单上的 select“Install from VSIX...
”。
- 找到
.vsix
我下载并打开的文件
- 然后重启vs code
但是问题还是出现了,于是我把.Net core SDK v2.2.202
版本降到2.1.202
,问题就解决了
更新:重新安装 VS Code 后不得不再次面对同样的问题,解决办法是。
在 visual studio 代码菜单中,进入 文件 > 首选项 > 设置。或者按 Ctrl+++,
在搜索设置字段中,输入omnisharp.path
单击 在 settings.json 中编辑。
像这样添加/编辑,
{
"omnisharp.path": "latest"
}
如果您的 settings.json 中已有条目,请在最后一个条目后面添加一个逗号并添加如下行:
{
"workbench.colorTheme": "Solarized Light",
"omnisharp.path": "latest"
}
最后保存settings.json
您会看到一个提示:“OmniSharp 配置已更改。您要使用您的更改重新启动 OmniSharp 服务器吗?”单击“重新启动 OmniSharp”按钮重新加载它。
在输出 window 中,您可以在下载最新版本时看到更新
已解决(在 Ubuntu 16.04 和 CentOS 7 上交叉检查):
在 VS Code 菜单中,进入文件/首选项/设置。
在 "Search settings" window 中,键入 omnisharp.path
点击 "Edit in settings.json" link。
像这样添加(或编辑):"omnisharp.path":"latest"
(来自:https://github.com/OmniSharp/omnisharp-vscode/issues/2965)
已解决:检查是否安装了 Visual Studio Build Packages,如果安装了则将其卸载。一旦卸载 VScode 将正常工作,智能感知功能将恢复。
祝你好运!
我通过升级我的 Mono 项目版本解决了这个问题
https://www.mono-project.com/
我的 mac 上安装了 VSCode 和 Visual Studio。用这个 official guide 卸载 Visual Studio 解决了这个问题。
我也遇到了同样的问题。如果上述解决方案 none 有效,那么您可以尝试下面的解决方案。
在查看日志时,我意识到了真正的问题:
“找不到指定的 SDK 'Microsoft.NET.Sdk'。”
我从这里安装了最新的稳定版 Mono (6.8.0):
https://www.mono-project.com/download/stable/
然后打开~bash_profile导出mono的框架路径:
export FrameworkPathOverride=/Library/Frameworks/Mono.framework/Versions/Current
对我来说很好用。希望对你也有用。
最近的 Windows10 更新后开始出现这种情况。
重新安装.NET Core Runtime,现在一切正常。
我通过在 VSCode 上执行以下操作解决了这个问题:
- 转到设置。 (代码 -> 首选项 -> Mac 上的设置)
- 搜索“omnisharp”。
- 找到“Omnisharp:使用全局单声道”部分并将其设置为“始终”。
- 找到“Omnisharp:路径”部分,然后单击“在 settings.json 中编辑”。将“omnisharp.path”更改为“omnisharp.path”:最新的。
- 重新加载window。
这可能失败的另一个原因是当您安装了 Visual Studio 2019 16.7 or below
时,因为 OmniSharp 需要来自 16.8
的 MsBuild。
使用 Visual Studio 安装程序更新 Visual Studio 为我解决了这个问题,而我使用的是替换机器,它现在处于休眠状态。
如果您安装了 SDK
using snap / ubuntu 软件..这就是导致我出现同样错误的原因。我回答了我自己的类似问题here
我找到了另一个解决方案,因为 none 个其他解决方案对我有用,而且我一直在寻找几个小时。(07/08/2021):
我在使用 .NET、.NET Core 或 .NET Framework 时遇到了同样的错误,以下是错误的一些屏幕截图:
在错误输出中,它说要为此框架版本安装开发包。您可以在.csproj 文件中找到版本:
通过在 dotnet microsoft 站点上安装此版本的 .NET Framework:.NET Framework download list
我在重新加载后修复了错误 VSCode 并让我的 Intellisense 为 Unity 工作。
TLDR:
我的修复是安装 .NET Framework 版本 4.7.1
实际上,omnisharp 路径对我不起作用。我在 mac。我最终所做的是下载 .net 的早期版本,而不是最新的 5.
https://dotnet.microsoft.com/download/dotnet/thank-you/sdk-3.0.103-macos-x64-installer
在我的例子中,创建 C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages
文件夹解决了问题
我开始使用 VS 代码开发 Asp.net Core web API。但是当我输入代码时 Intellisense/Suggestions 无法正常工作。我在他们输入 using Microsoft.
时在互联网上的一些资源中看到,
EntityFrameworkCore
显示为建议。但就我而言,它没有显示。在 OmniSharp
日志中向我显示以下错误。
Starting OmniSharp server at 4/5/2019, 3:37:16 PM
Target: c:\Dotnet Core\NgWebApi
OmniSharp server started.
Path: C:\Users\Acer\.vscode\extensions\ms-vscode.csharp-1.18.0\.omnisharp.32.11\OmniSharp.exe
PID: 13684
[info]: OmniSharp.Stdio.Host
Starting OmniSharp on Windows 6.2.9200.0 (x64)
[info]: OmniSharp.Services.DotNetCliService
DotNetPath set to dotnet
[info]: OmniSharp.MSBuild.Discovery.MSBuildLocator
Located 1 MSBuild instance(s)
1: StandAlone 15.0 - "C:\Users\Acer\.vscode\extensions\ms-vscode.csharp-1.18.0\.omnisharp.32.11\msbuild.0\Bin"
[info]: OmniSharp.MSBuild.Discovery.MSBuildLocator
MSBUILD_EXE_PATH environment variable set to 'C:\Users\Acer\.vscode\extensions\ms-vscode.csharp-1.18.0\.omnisharp.32.11\msbuild.0\Bin\MSBuild.exe'
[info]: OmniSharp.MSBuild.Discovery.MSBuildLocator
Registered MSBuild instance: StandAlone 15.0 - "C:\Users\Acer\.vscode\extensions\ms-vscode.csharp-1.18.0\.omnisharp.32.11\msbuild.0\Bin"
CscToolExe = csc.exe
CscToolPath = C:\Users\Acer\.vscode\extensions\ms-vscode.csharp-1.18.0\.omnisharp.32.11\msbuild.0\Bin\Roslyn
MSBuildExtensionsPath = C:\Users\Acer\.vscode\extensions\ms-vscode.csharp-1.18.0\.omnisharp.32.11\msbuild
MSBuildToolsPath = C:\Users\Acer\.vscode\extensions\ms-vscode.csharp-1.18.0\.omnisharp.32.11\msbuild.0\Bin
[info]: OmniSharp.Cake.CakeProjectSystem
Detecting Cake files in 'c:\Dotnet Core\NgWebApi'.
[info]: OmniSharp.Cake.CakeProjectSystem
Could not find any Cake files
[info]: OmniSharp.WorkspaceInitializer
Project system 'OmniSharp.DotNet.DotNetProjectSystem' is disabled in the configuration.
[info]: OmniSharp.MSBuild.ProjectSystem
No solution files found in 'c:\Dotnet Core\NgWebApi'
[info]: OmniSharp.MSBuild.ProjectManager
Queue project update for 'c:\Dotnet Core\NgWebApi\NgWebApi.csproj'
[info]: OmniSharp.Script.ScriptProjectSystem
Detecting CSX files in 'c:\Dotnet Core\NgWebApi'.
[info]: OmniSharp.Script.ScriptProjectSystem
Could not find any CSX files
[info]: OmniSharp.WorkspaceInitializer
Invoking Workspace Options Provider: OmniSharp.Roslyn.CSharp.Services.CSharpWorkspaceOptionsProvider
[info]: OmniSharp.MSBuild.ProjectManager
Loading project: c:\Dotnet Core\NgWebApi\NgWebApi.csproj
[info]: OmniSharp.WorkspaceInitializer
Configuration finished.
[info]: OmniSharp.Stdio.Host
Omnisharp server running using Stdio at location 'c:\Dotnet Core\NgWebApi' on host 17188.
[warn]: OmniSharp.MSBuild.ProjectManager
Failed to load project file 'c:\Dotnet Core\NgWebApi\NgWebApi.csproj'.
c:\Dotnet Core\NgWebApi\NgWebApi.csproj(1,1)
Microsoft.Build.Exceptions.InvalidProjectFileException: The SDK 'Microsoft.NET.Sdk.Web' specified could not be found. c:\Dotnet Core\NgWebApi\NgWebApi.csproj
at Microsoft.Build.Shared.ProjectErrorUtilities.ThrowInvalidProject(String errorSubCategoryResourceName, IElementLocation elementLocation, String resourceName, Object[] args)
at Microsoft.Build.Evaluation.Evaluator`4.ExpandAndLoadImportsFromUnescapedImportExpressionConditioned(String directoryOfImportingFile, ProjectImportElement importElement, List`1& projects, Boolean throwOnFileNotExistsError)
at Microsoft.Build.Evaluation.Evaluator`4.ExpandAndLoadImports(String directoryOfImportingFile, ProjectImportElement importElement)
at Microsoft.Build.Evaluation.Evaluator`4.EvaluateImportElement(String directoryOfImportingFile, ProjectImportElement importElement)
at Microsoft.Build.Evaluation.Evaluator`4.PerformDepthFirstPass(ProjectRootElement currentProjectOrImport)
at Microsoft.Build.Evaluation.Evaluator`4.Evaluate(ILoggingService loggingService, BuildEventContext buildEventContext)
at Microsoft.Build.Evaluation.Project.Reevaluate(ILoggingService loggingServiceForEvaluation, ProjectLoadSettings loadSettings)
at Microsoft.Build.Evaluation.Project.ReevaluateIfNecessary(ILoggingService loggingServiceForEvaluation, ProjectLoadSettings loadSettings)
at Microsoft.Build.Evaluation.Project.Initialize(IDictionary`2 globalProperties, String toolsVersion, String subToolsetVersion, ProjectLoadSettings loadSettings)
at Microsoft.Build.Evaluation.Project..ctor(String projectFile, IDictionary`2 globalProperties, String toolsVersion, String subToolsetVersion, ProjectCollection projectCollection, ProjectLoadSettings loadSettings)
at Microsoft.Build.Evaluation.ProjectCollection.LoadProject(String fileName, IDictionary`2 globalProperties, String toolsVersion)
at OmniSharp.MSBuild.ProjectLoader.EvaluateProjectFileCore(String filePath)
at OmniSharp.MSBuild.ProjectLoader.BuildProject(String filePath)
at OmniSharp.MSBuild.ProjectFile.ProjectFileInfo.Load(String filePath, ProjectLoader loader)
at OmniSharp.MSBuild.ProjectManager.LoadOrReloadProject(String projectFilePath, Func`1 loader)
[fail]: OmniSharp.MSBuild.ProjectManager
Attempted to update project that is not loaded: c:\Dotnet Core\NgWebApi\NgWebApi.csproj
我重新安装了 VS Code 和 C#
, C# Extention
来解决这个问题,但它仍然出现。我认为原因是未显示 Intellisense/Suggestions 项目未正确加载。谁能告诉我如何避免此错误以及如何解决 Intellisense/Suggestions 未显示问题。
为了解决这个问题,我做了几件事。首先,我通过安装他们的测试版来降级 OmniSharp
版本。将该版本的 .vsix
文件下载到我的机器上。使用以下步骤将 .vsix
安装到 Visual Studio 代码中。
- 从菜单中打开 Visual Studio 代码和 select 查看-> 扩展以显示扩展窗格
- 通过单击“扩展”窗格右上角的
...
和菜单上的 select“Install from VSIX...
”。 - 找到
.vsix
我下载并打开的文件 - 然后重启vs code
但是问题还是出现了,于是我把.Net core SDK v2.2.202
版本降到2.1.202
,问题就解决了
更新:重新安装 VS Code 后不得不再次面对同样的问题,解决办法是。
在 visual studio 代码菜单中,进入 文件 > 首选项 > 设置。或者按 Ctrl+++,
在搜索设置字段中,输入
omnisharp.path
单击 在 settings.json 中编辑。
像这样添加/编辑,
{
"omnisharp.path": "latest"
}
如果您的 settings.json 中已有条目,请在最后一个条目后面添加一个逗号并添加如下行:
{
"workbench.colorTheme": "Solarized Light",
"omnisharp.path": "latest"
}
最后保存settings.json
您会看到一个提示:“OmniSharp 配置已更改。您要使用您的更改重新启动 OmniSharp 服务器吗?”单击“重新启动 OmniSharp”按钮重新加载它。
在输出 window 中,您可以在下载最新版本时看到更新
已解决(在 Ubuntu 16.04 和 CentOS 7 上交叉检查):
在 VS Code 菜单中,进入文件/首选项/设置。
在 "Search settings" window 中,键入 omnisharp.path
点击 "Edit in settings.json" link。
像这样添加(或编辑):"omnisharp.path":"latest"
(来自:https://github.com/OmniSharp/omnisharp-vscode/issues/2965)
已解决:检查是否安装了 Visual Studio Build Packages,如果安装了则将其卸载。一旦卸载 VScode 将正常工作,智能感知功能将恢复。 祝你好运!
我通过升级我的 Mono 项目版本解决了这个问题 https://www.mono-project.com/
我的 mac 上安装了 VSCode 和 Visual Studio。用这个 official guide 卸载 Visual Studio 解决了这个问题。
我也遇到了同样的问题。如果上述解决方案 none 有效,那么您可以尝试下面的解决方案。
在查看日志时,我意识到了真正的问题: “找不到指定的 SDK 'Microsoft.NET.Sdk'。”
我从这里安装了最新的稳定版 Mono (6.8.0): https://www.mono-project.com/download/stable/
然后打开~bash_profile导出mono的框架路径: export FrameworkPathOverride=/Library/Frameworks/Mono.framework/Versions/Current
对我来说很好用。希望对你也有用。
最近的 Windows10 更新后开始出现这种情况。
重新安装.NET Core Runtime,现在一切正常。
我通过在 VSCode 上执行以下操作解决了这个问题:
- 转到设置。 (代码 -> 首选项 -> Mac 上的设置)
- 搜索“omnisharp”。
- 找到“Omnisharp:使用全局单声道”部分并将其设置为“始终”。
- 找到“Omnisharp:路径”部分,然后单击“在 settings.json 中编辑”。将“omnisharp.path”更改为“omnisharp.path”:最新的。
- 重新加载window。
这可能失败的另一个原因是当您安装了 Visual Studio 2019 16.7 or below
时,因为 OmniSharp 需要来自 16.8
的 MsBuild。
使用 Visual Studio 安装程序更新 Visual Studio 为我解决了这个问题,而我使用的是替换机器,它现在处于休眠状态。
如果您安装了 SDK
using snap / ubuntu 软件..这就是导致我出现同样错误的原因。我回答了我自己的类似问题here
我找到了另一个解决方案,因为 none 个其他解决方案对我有用,而且我一直在寻找几个小时。(07/08/2021):
我在使用 .NET、.NET Core 或 .NET Framework 时遇到了同样的错误,以下是错误的一些屏幕截图:
在错误输出中,它说要为此框架版本安装开发包。您可以在.csproj 文件中找到版本:
通过在 dotnet microsoft 站点上安装此版本的 .NET Framework:.NET Framework download list 我在重新加载后修复了错误 VSCode 并让我的 Intellisense 为 Unity 工作。
TLDR: 我的修复是安装 .NET Framework 版本 4.7.1
实际上,omnisharp 路径对我不起作用。我在 mac。我最终所做的是下载 .net 的早期版本,而不是最新的 5.
https://dotnet.microsoft.com/download/dotnet/thank-you/sdk-3.0.103-macos-x64-installer
在我的例子中,创建 C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages
文件夹解决了问题