microsoft / AL

Home of the Dynamics 365 Business Central AL Language extension for Visual Studio Code. Used to track issues regarding the latest version of the AL compiler and developer tools available in the Visual Studio Code Marketplace or as part of the AL Developer Preview builds for Dynamics 365 Business Central.
MIT License
745 stars 245 forks source link

The project already transitively references the target project. #6779

Open StefanMaron opened 3 years ago

StefanMaron commented 3 years ago

1. Describe the bug I am getting the following error on open of my workspace

2. To Reproduce Not sure what about this project causes this error. I tried to reproduce in a simple project and the error does not occur. If I open a folder from my workspace separately, also no error.

[Error - 11:58:14] Please report this issue to https://github.com/microsoft/al/issues including information on how to reproduce it, if possible.
Processing of message 'workspace/didChangeConfiguration' failed with error: 'The project already transitively references the target project.'
Details:
System.InvalidOperationException: The project already transitively references the target project.
   at Microsoft.Dynamics.Nav.CodeAnalysis.Workspaces.Solution.CheckNotContainsTransitiveReference(ProjectId fromProjectId, ProjectId toProjectId) in D:\a\1\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis.Workspaces\Workspace\Solution\Solution.cs:line 2296
   at Microsoft.Dynamics.Nav.CodeAnalysis.Workspaces.Solution.AddProjectReference(ProjectId projectId, ProjectReference projectReference) in D:\a\1\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis.Workspaces\Workspace\Solution\Solution.cs:line 854
   at Microsoft.Dynamics.Nav.EditorServices.Protocol.VsCodeWorkspace.AddCurrentProjectAsAProjectDependency(String dependencyParentProjectPath, Solution oldSolution) in D:\a\1\s\source\Prod\Microsoft.Dynamics.Nav.EditorServices.Protocol\VsCodeWorkspace.cs:line 981
   at Microsoft.Dynamics.Nav.EditorServices.Protocol.VsCodeWorkspace.UpdateDependencies(IEnumerable`1 references, String packageCachePath, String[] assemblyProbingPaths, String ruleSetPath, CompilationOptions newCompilationOptions, ParseOptions newParseOptions, String dependencyParentProjectPath, ProjectDefinition projectDefinition, IEnumerable`1 internalsVisibleToModules, ImmutableArray`1 analyzerReferences, Boolean isBackgroundCodeAnalyzersEnabled, Boolean enableCodeActions, Boolean incrementalBuild) in D:\a\1\s\source\Prod\Microsoft.Dynamics.Nav.EditorServices.Protocol\VsCodeWorkspace.cs:line 999
   at Microsoft.Dynamics.Nav.EditorServices.Protocol.VsCodeWorkspace.AddOrUpdateProjectFromPath(Settings settings, Boolean forceCheckDependencies, List`1& projectLoadingDiagnostics, Boolean& missingSymbols) in D:\a\1\s\source\Prod\Microsoft.Dynamics.Nav.EditorServices.Protocol\VsCodeWorkspace.cs:line 162
   at Microsoft.Dynamics.Nav.EditorServices.Protocol.VsCodeWorkspace.TryAddOrUpdateProject(Settings settings, IList`1& diagnostics, ProjectManifest& manifest, Boolean& missingSymbols) in D:\a\1\s\source\Prod\Microsoft.Dynamics.Nav.EditorServices.Protocol\VsCodeWorkspace.cs:line 73
   at Microsoft.Dynamics.Nav.EditorServices.Protocol.LanguageServer.ProjectRequestHandler`1.TryAddOrUpdateProject(SettingsRequest request, CancellationToken cancellationToken, ProjectManifest& manifest) in D:\a\1\s\source\Prod\Microsoft.Dynamics.Nav.EditorServices.Protocol\LanguageServer\ProjectRequestHandler.cs:line 53
   at Microsoft.Dynamics.Nav.EditorServices.Protocol.LanguageServer.DidChangeConfigurationRequestHandler.HandleAsync(SettingsRequest request, Int32 requestId, CancellationToken cancellationToken) in D:\a\1\s\source\Prod\Microsoft.Dynamics.Nav.EditorServices.Protocol\LanguageServer\DidChangeConfigurationRequestHandler.cs:line 73
   at Microsoft.Dynamics.Nav.EditorServices.Protocol.MessageProtocol.RequestHandlerBase`1.HandleAsync(JToken requestContents, Int32 requestId, CancellationToken cancellationToken) in D:\a\1\s\source\Prod\Microsoft.Dynamics.Nav.EditorServices.Protocol\MessageProtocol\RequestHandlerBase.cs:line 63
   at Microsoft.Dynamics.Nav.EditorServices.Protocol.RequestRegistry.Process(Message message) in D:\a\1\s\source\Prod\Microsoft.Dynamics.Nav.EditorServices.Protocol\Endpoints\RequestRegistry.cs:line 64

Note: Because the developers need to copy and paste the code snippet, including a code snippet as a media file (i.e. .gif) is not sufficient.

3. Expected behavior A clear and concise description of what you expected to happen.

4. Actual behavior A clear and concise description of what happened accompanied by images, animations, or a link to a video showing the issue occurring

5. Versions:

StefanMaron commented 3 years ago

I found the problem. I created a dependency loop by accident. A > B > A.