简体   繁体   中英

OmniSharp.MSBuild.ProjectManager Attempted to update project that is not loaded:

I started to develop Asp.net Core web API with the VS code. But when I typing the code Intellisense/Suggestions not working properly. I saw in some resource on the internet while they are typing using Microsoft. , EntityFrameworkCore showing as a suggestion. But In my case, it's not showing. In the OmniSharp log showing following error to me.

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\1.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\1.32.11\msbuild\15.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\1.32.11\msbuild\15.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\1.32.11\msbuild\15.0\Bin"
            CscToolExe = csc.exe
            CscToolPath = C:\Users\Acer\.vscode\extensions\ms-vscode.csharp-1.18.0\.omnisharp\1.32.11\msbuild\15.0\Bin\Roslyn
            MSBuildExtensionsPath = C:\Users\Acer\.vscode\extensions\ms-vscode.csharp-1.18.0\.omnisharp\1.32.11\msbuild
            MSBuildToolsPath = C:\Users\Acer\.vscode\extensions\ms-vscode.csharp-1.18.0\.omnisharp\1.32.11\msbuild\15.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

I re-installed the VS Code and C# , C# Extention to solve this problem, but it's still occurring. I think the reason was to not showing Intellisense/Suggestions the project is not properly loaded. Can anyone tell me how to avoid this error and how to solve Intellisense/Suggestions not showing the issue.

Solved (cross checked on Ubuntu 16.04 and CentOS 7):

In the VS Code menu, go into File / Preferences / Settings.

In the "Search settings" window, type omnisharp.path

Click on "Edit in settings.json" link.

Add (or edit) like this: "omnisharp.path": "latest"

(from: https://github.com/OmniSharp/omnisharp-vscode/issues/2965 )

I solved this issue by doing the following on VSCode:

  1. Go to settings. (Code -> Preferences -> Settings on Mac)
  2. Search "omnisharp".
  3. Find the section "Omnisharp: Use Global Mono," and set it to "always."
  4. Find the section "Omnisharp: Path," and click "Edit in settings.json." Change "omnisharp.path" as "omnisharp.path": latest".
  5. Reload the window.

To solve this I did several things. First of all, I downgrade OmniSharp version by installing their beta version. download the .vsix file for that release to my machine. Used the following steps to install the .vsix into Visual Studio Code.

  1. Open Visual Studio Code and select View->Extensions from the menu to display the Extensions pane
  2. By clicking the ... at the top-right corner of the Extensions pane and select " Install from VSIX... " on the menu.
  3. Located the .vsix the file I downloaded and Opened it
  4. Then restart vs code

But the problem still occurred , so then I downgraded the .Net core SDK v2.2.202 version to 2.1.202 and the problem is solved.

我通过升级我的 Mono 项目版本解决了这个问题https://www.mono-project.com/

I found another solution since none of the other solutions were working for me and i was searching for hours.(07/08/2021):

I got the same error with .NET, .NET Core or .NET Framework, here are some screenshots of the errors:

错误弹出

错误输出

In the error output, it says to install the Developer Pack for this framework version. You can find the version in the .csproj file:

在此处输入图片说明

By installing the .NET Framework of this version on the dotnet microsoft site: .NET Framework download list i fixed the error after reloading VSCode and got my Intellisense working for Unity.

TLDR: My fix was too install .NET Framework version 4.7.1

Solved: Check if Visual Studio Build Packages is installed, if so uninstall it. As soon as uninstall VScode will work fine and intellisense feature will be back. Good luck!

This started happening after the latest Windows10 update.

Re-installed .NET Core Runtime and everything's fine now.

@BernieB

Thank you, this worked for me ... you are a genius!

I've had both VSCode and Visual Studio installed on my mac. Uninstalling Visual Studio with this official guide solved the issue.

I was also facing the same issue. If none of the above solutions worked then you can try the one below.

While going through the logs, I realized the real problem: "The SDK 'Microsoft.NET.Sdk' specified could not be found."

I installed latest stable Mono from here (6.8.0): https://www.mono-project.com/download/stable/

Then opened ~bash_profile and exported framework path of mono: export FrameworkPathOverride=/Library/Frameworks/Mono.framework/Versions/Current

Works fine for me. Hope it works for you too.

Another reason this might fail, is when you have Visual Studio 2019 16.7 or below installed, as OmniSharp reqiures MsBuild from 16.8 .

Updating Visual Studio using the Visual Studio installer resolved that issue for me, while I was using a replacement machine, that lay dormant for a while now.

If you installed the SDK using snap / ubuntu software.. that is what caused the same error for me. I answered my own similar question here

Actually the omnisharp path doesn't work for me. I'm on mac. What i did eventually is to download an early version of .net, not the latest 5.

https://dotnet.microsoft.com/download/dotnet/thank-you/sdk-3.0.103-macos-x64-installer

In my case creating C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages folder solved the problem

For the recent version of Omnisharp just uncheck the useModernNet in VS code C# extension setting as shown in the screenshot. 在此处输入图像描述

In my particular case, I was able to solve the Attempted to update project that is not loaded: problem by running dotnet restore across my solution.
It seems I was missing my dependencies.

If you are running on an older .NET project (<.NET 6), setting useModernNet to false will allow OmniSharp to target the right .NET framework version.

In settings.json :

"omnisharp.useModernNet": false

Alternatively, this can be done through VS Code's settings pane: File > Preferences > Settings and search for omnisharp.useModernNet and untick the checkbox for Omnisharp: Use Modern Net .

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM