dotnet / winforms

Windows Forms is a .NET UI framework for building Windows desktop applications.
MIT License
4.36k stars 965 forks source link

Opening ProgressDialog is this repo causes Designer to crash with Timed out while connecting to named pipe. #11749

Open paul1956 opened 1 month ago

paul1956 commented 1 month ago

Environment

Microsoft Visual Studio Community 2022 (64-bit) - Preview Version 17.11.0 Preview 5.0

.NET version

Microsoft Visual Studio Community 2022 Version 17.11.0 Preview 5.0 VisualStudio.17.Preview/17.11.0-pre.5.0+35118.90 Microsoft .NET Framework Version 4.8.09032

Installed Version: Community

Visual C++ 2022 00482-90000-00000-AA214 Microsoft Visual C++ 2022

ASP.NET and Web Tools 17.11.230.51983 ASP.NET and Web Tools

Azure App Service Tools v3.0.0 17.11.230.51983 Azure App Service Tools v3.0.0

C# Tools 4.11.0-3.24358.9+26240cf3e46e45a9fc8c879f793793defe2c0b2a C# components used in the IDE. Depending on your project type and settings, a different version of the compiler may be used.

Clean Solution 1.4.35 Cleans up the solution for the next time you open it. Closes open documents and collapses folders automatically when a solution is being closed.

Clear MEF Component Cache 1.4 Clears the Visual Studio MEF component cache to fix issues with cache corruption.

CodeMaid 12.0 CodeMaid is an open source Visual Studio extension to cleanup and simplify our C#, C++, F#, VB, PHP, PowerShell, R, JSON, XAML, XML, ASP, HTML, CSS, LESS, SCSS, JavaScript and TypeScript coding.

Common Azure Tools 1.10 Provides common services for use by Azure Mobile Services and Microsoft Azure Tools.

Developer News 2022 1.0.91 Always stay up to date with developer news from the Visual Studio team and other sources right within Visual Studio or your default browser.

Extensibility Essentials 2022 1.1.15 A collection of extensions that makes it much easier to write Visual Studio extensions

File Icons 2.7 Adds icons for files that are not recognized by Solution Explorer

Fine Code Coverage FineCodeCoverage2022.ad53fb28-7a11-4465-a27a-3550499ea4a1 Visualize unit test code coverage easily for free in Visual Studio Community Edition (and other editions too)

GitHub Copilot 0.2.1613.32404 GitHub Copilot is an AI pair programmer that helps you write code faster and with less work.

Image Manifest Tools 1.1.8 Makes it easier to create and maintain .imagemanifest files for Visual Studio extension

Insert Guid 1.3 Makes it super easy to insert a new GUID into any editor and input field

KnownMonikers Explorer 2022 1.0.51 A tool window for Visual Studio extension authors to explore the KnownMonikers image collection

Microsoft JVM Debugger 1.0 Provides support for connecting the Visual Studio debugger to JDWP compatible Java Virtual Machines

Multiline Search and Replace 3.5 Adds multiline search and replace functionality to Visual Studio.

NuGet Package Manager 6.11.0 NuGet Package Manager in Visual Studio. For more information about NuGet, visit https://docs.nuget.org/

Open Command Line 2.5.239 2.5.239

Pkgdef Language 1.3.91 Full language support with IntelliSense, validation, outlining, and more for .pkgdef and .pkgundef files

Reset Zoom 1.2.17 Adds a command to reset the editor zoom level to 100% with a customizable keyboard shortcut

Show Selection Length 1.0.9 Shows the length of the editor text selection in the status bar

SQL Server Data Tools 17.11.38.0 Microsoft SQL Server Data Tools

SVG Viewer 1.0.16 Makes it much easier to work with SVG files by showing a live preview in the bottom-right corner of the code window

Test Adapter for Boost.Test 1.0 Enables Visual Studio's testing tools with unit tests written for Boost.Test. The use terms and Third Party Notices are available in the extension installation directory.

Test Adapter for Google Test 1.0 Enables Visual Studio's testing tools with unit tests written for Google Test. The use terms and Third Party Notices are available in the extension installation directory.

Tweaks 2022 1.1.143 A collection of minor fixes and tweaks for Visual Studio to reduce the paper cuts and make you a happier developer

TypeScript Tools 17.0.30715.2002 TypeScript Tools for Microsoft Visual Studio

Visual Basic Tools 4.11.0-3.24358.9+26240cf3e46e45a9fc8c879f793793defe2c0b2a Visual Basic components used in the IDE. Depending on your project type and settings, a different version of the compiler may be used.

Visual F# Tools 17.11.0-beta.24317.3+c07c8ebad62f6629b36349381991a299598a8d74 Microsoft Visual F# Tools

Visual Studio IntelliCode 2.2 AI-assisted development for Visual Studio.

VSIX Synchronizer 1.0.43 Provides the ability to generate code-behind files for .vsixmanfiest and .vsct files in managed code to make the information easy to consume from the rest of the extension.

ZenCoding 1.2.21 Provides ZenCoding for the HTML Editor - full support for static HTML, Razor and WebForms.

Did this work in a previous version of Visual Studio and/or previous .NET release?

Unknown

Issue description

image

Instances of this error (1)

at Microsoft.DotNet.DesignTools.Client.Host.ServerProcess.d__38.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.DotNet.DesignTools.Client.Host.ServerProcess.d__29.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.DotNet.DesignTools.Client.Host.ServerHostFactory.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.DotNet.DesignTools.Client.DesignToolsClientLoader.d__29.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.DotNet.DesignTools.Client.DesignToolsClientLoader.<>c__DisplayClass25_1.<<-ctor>b__1>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.DotNet.DesignTools.Client.DesignToolsClientLoader.d__27.MoveNext()  

Steps to reproduce

Launch VS using .\start-vs.cmd wait for everything to complete Double click on ..\Repos\winforms\src\Microsoft.VisualBasic.Forms\src\Microsoft\VisualBasic\MyServices\Internal\ProgressDialog.vb After a delay the dialog above opens.

Diagnostics

[19:57:39.181105] fail: [Microsoft.VisualBasic.Forms]: Unhandled exception. System.IO.FileNotFoundException: Could not load file or assembly 'System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'. The system cannot find the file specified.
[19:57:39.183105] fail: [Microsoft.VisualBasic.Forms]: File name: 'System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'
[19:57:39.183105] fail: [Microsoft.VisualBasic.Forms]:    at Microsoft.VisualStudio.WinForms.Server.WinFormsDesignTimeAssemblies..cctor()
[19:57:39.183105] fail: [Microsoft.VisualBasic.Forms]:    at Microsoft.VisualStudio.WinForms.Server.WinFormsDesignTimeAssemblies.get_All()
[19:57:39.183105] fail: [Microsoft.VisualBasic.Forms]:    at DesignToolsServerX64.Program.Main(String[] args)
[19:58:21.129093] warn: Cannot update selection in server process as Session is not connected.
[19:59:36.476488] fail: [Microsoft.VisualBasic.Forms]: Timed out while connecting to named pipe: DesignToolsServer.5da52d01-3ca5-4e00-86d9-8cb86417f2a0

                        For information on how to troubleshoot the designer refer to the guide at https://aka.ms/winforms/designer/troubleshooting.
[19:59:36.506001] fail: Microsoft.DotNet.DesignTools.Client.ServerException: Timed out while connecting to named pipe.
                           at Microsoft.DotNet.DesignTools.Client.Host.ServerProcess.<ConnectToStreamAsync>d__38.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.DotNet.DesignTools.Client.Host.ServerProcess.<LaunchAsync>d__29.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.DotNet.DesignTools.Client.Host.ServerHostFactory.<CreateHostAsync>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.DotNet.DesignTools.Client.DesignToolsClientLoader.<CreateClientAsync>d__29.MoveNext()

                        For information on how to troubleshoot the designer refer to the guide at https://aka.ms/winforms/designer/troubleshooting.
[19:59:36.846467] warn: Cannot update selection in server process as Session is not connected.
[19:59:37.767872] fail: BasicDesignerLoader.DependentLoadComplete - _loadDependencyCount is 0.

                        For information on how to troubleshoot the designer refer to the guide at https://aka.ms/winforms/designer/troubleshooting.
elachlan commented 1 month ago

@paul1956 you can't design any of the projects in this repo because of the namespace clash.

paul1956 commented 1 month ago

@elachlan is crash after long pause the best that can be done? It's very easy to click on these files without realizing they are Forms. I would like to at least look at converting them to modern Form format with a .designer file. If something else can be done to prevent designer crash.

elachlan commented 1 month ago

Its because the designer uses the winforms assemblies from the sdk, so any of the projects that are those same assemblies won't be loaded.

Best work around is to not have designer files within our assembly, or to copy them to another project to design them and then copy them back.

@Shyam-Gupta might be able to explain it better.

paul1956 commented 1 month ago

@elachlan we don't have designer files in repo but in VB the designer data can be part of the code file, so when you click on them to view code the designer opens. Try clicking on file below in your repo and the designer tries to open and there is no ProgressDialog.Designer,vb

..\Winforms\src\Microsoft.VisualBasic.Forms\src\Microsoft\VisualBasic\MyServices\Internal\ProgressDialog.vb

I was hoping to add a Designer file for these to avoid the designer from opening where I want to view source, sounds like that will not help. I can easily add this file to another project to open in designer.

elachlan commented 1 month ago

I see. VS should probably only enable the open in designer action when the designer file is present.

paul1956 commented 1 month ago

@elachlan I have filed a VS feedback. You can close this if you want.

merriemcgaw commented 1 month ago

Do you have a link to the feedback ticket? @Shyam-Gupta will make sure it gets looked into.

Philip-Wang01 commented 1 month ago

@merriemcgaw Here's the feedback from the customer(VS-WinForms-Designer-Crashes-when-openin), I think it's the similar as https://github.com/dotnet/winforms/issues/8448

elachlan commented 1 month ago

@Philip-Wang01 I also thought this. The issue is that the file does not have a .designer.cs file, so opening the designer makes no sense. Visual studio should just open the code view if the designer file is not present.

paul1956 commented 1 month ago

The stuff that should be in Designer.vb is in a single file. This was the way it was before the partial class Designer files were added. I wanted to split it into 2 files but didn't because I thought the missing Designer file would prevent the crash.