dotnet / project-system

The .NET Project System for Visual Studio
MIT License
969 stars 387 forks source link

Settings of a VB project cannot be open in Visual Studio 2022 17.3 when a NuGet package is added #8436

Closed vsfeedback closed 1 year ago

vsfeedback commented 2 years ago

This issue has a corresponding ticket on Developer Community. Please vote and comment there to make sure your voice is heard.


[severity:I’m unable to use this version] [regression]
Hello,

My name is Vladislav Yurgens. I’m a software engineer representing the WinForms team at DevExpress.

Recently, multiple users reported an issue related to the inability to open settings of a VB .NET 6 project in the Visual Studio 2022 v17.3. The issue occurs when users add one of DevExpress NuGet packages to the project.

Please review the VBProject_VS17_3Problem.zip archive, which has the project with the mentioned issue. It will be sufficient to run the sample and open the settings of the project to reproduce the problem.

Let me describe the steps that lead to the issue in greater detail:

Repro Steps

  1. Extract the attached archive (VBProject_VS17_3Problem.zip) with a solution. We added the required DevExpress package (DevExpress.Data.Desktop) to the solution.
  2. Please make sure that you have Visual Studio 2022 v17.3 and open VBProject_VS17_3Problem.sln in your Visual Studio. Invoke the menu in the current project and select the Properties item to open the settings of the project:
    image.png
  3. An error is displayed instead of the settings page:
    image.png

Here is the error log:

Microsoft.VisualStudio.ProjectSystem.Query.QueryExecutionException: The file C:\Users\...\VBProject_VS17_3Problem\WinFormsApp1\Application.xaml is not part of any project in the solution so it cannot be opened.  Add the file to a project and try again. ---> System.ArgumentException: The file C:\Users\...\VBProject_VS17_3Problem\WinFormsApp1\Application.xaml is not part of any project in the solution so it cannot be opened.  Add the file to a project and try again.
   at Microsoft.VisualStudio.Shell.Design.Serialization.DocData..ctor(IServiceProvider provider, String fileName)
   at Microsoft.VisualStudio.ProjectSystem.VS.WPF.ApplicationXamlFileAccessor.<g__GetDocDataAsync|11_0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.VisualStudio.ProjectSystem.VS.WPF.ApplicationXamlFileAccessor.d__11.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.VisualStudio.ProjectSystem.VS.WPF.ApplicationXamlFileAccessor.d__7.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.VisualStudio.ProjectSystem.Properties.WPFValueProvider.d__10.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.VisualStudio.ProjectSystem.Properties.InterceptedProjectProperties.d__3.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter\\`1.GetResult()
   at Microsoft.VisualStudio.ProjectSystem.PropertyPages.PageProperty.d__41.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.VisualStudio.ProjectSystem.VS.Query.UIPropertyValueDataProducer.d__1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.VisualStudio.ProjectSystem.VS.Query.UIPropertyValueDataProducer.d__0.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at Microsoft.VisualStudio.ProjectSystem.VS.Query.UIPropertyValueDataProducer.d__2.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.VisualStudio.ProjectSystem.VS.Query.QueryDataFromProviderStateProducerBase\\`1.d__0.MoveNext()
   --- End of inner exception stack trace ---
   at Microsoft.VisualStudio.ProjectSystem.Query.QueryExecution.QuerySubscription\\`1.d__9.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.VisualStudio.ProjectSystem.Query.QueryExecution.QuerySubscription\\`1.<>c__DisplayClass8_0.<b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.VisualStudio.ProjectSystem.VS.Implementation.PropertyPages.Designer.ProjectPropertyDataAccess.Observer.d__10.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter\\`1.GetResult()
   at Microsoft.VisualStudio.ProjectSystem.VS.Implementation.PropertyPages.Designer.ProjectPropertyDataAccess.Observer.d__9.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.VisualStudio.ProjectSystem.VS.Implementation.PropertyPages.Designer.ProjectPropertiesEditor.<>c__DisplayClass0_0.<<-ctor>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.VisualStudio.ProjectSystem.VS.Implementation.PropertyPages.Designer.AsyncLoadContent.<>c__DisplayClass0_0.<b__0>d.MoveNext()

Having analyzed this issue, we found that it occurs because the default value of the UseWPF flag was changed in the new version of the Visual Studio 2022. It seems that this flag equals True by default, so the Application.xaml file could not be found in a WinForms project.

Also, we noticed that the issue is resolved after specifying the value of this flag explicitly in the code of the project file (*.vbproj):

False


It’s important that you reproduce and investigate this issue because it affects our users:

I am looking forward to hearing from your team. Feel free to contact me if you have any questions. My team and I are interested in improving the stability of DevExpress and Microsoft products as we share the same goals.


Original Comments

Feedback Bot on 8/23/2022, 11:12 PM:

(private comment, text removed)

Peng Ge [MSFT] on 8/24/2022, 02:24 AM:

(private comment, text removed)

Melissa Trevino [MSFT] on 8/24/2022, 02:26 PM:

(private comment, text removed)

Melissa Trevino [MSFT] on 8/26/2022, 03:36 PM:

(private comment, text removed)


Original Solutions

(no solutions)

Tragen commented 2 years ago

Same here. I copied an existing Application.xaml from MS Source to the folder and I can open the properties. To compile the project, you need to delete the file, else you get an error then.