-
Notifications
You must be signed in to change notification settings - Fork 253
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices errors due to path length not handled well on UWP #1607
Comments
Hi @idg10, Sorry to hear you are facing this issue. I will raise the point in our next chat with PMs because while technically it's easy to do, we have lots of customers still using the non-sdk project style and so having manual references to dll which would cause a massive break. |
I am facing the same issue with WinUI 3. |
We will do the changes for shorter dll names as part of v4. |
Hey there, Getting more familiar with the codebase, have you tried to disable |
Description
If you use
MSTest.TestAdapter
on a UWP project, the very long name of theMicrosoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices
component can cause the resource generation step to fail because the Windows maximum path length is exceeded. The error message reported in this case does not make it at all obvious that path lengths are the problem.I am using MSTest.TestAdapter 3.0.2 on Visual Studio 2022 17.4.5
Steps To Reproduce
In Visual Studio, create a UWP test runner project using
MSTest.TestAdapter
(or clone a repo that contains one) such that the fully-qualified name of the folder is longer than 80 characters. For example, the name of the project folder in which I encountered this problem was:C:\Users\matth\source\repos\reactive\Rx.NET\Source\tests\Tests.System.Reactive.Uwp.DeviceRunner
That folder path is 95 characters long. This is more than enough to trigger the problem.
Building the project causes this error:
The path in the error message is 270 characters long, 10 over the traditional Windows maximum path length. As is common for modern Windows systems, this particular machine is configured to allow files longer than that old limit. But paths that long cause problems for code that does not know how to work with long filenames.
Expected behavior
Ideally, it should just be able to work with longer filenames.
Failing that, it should report that this is a path length issue.
Furthermore, it would be worth considering giving this component a much shorter name and/or making the name of the embedded resource shorter (does it really need to end with ".Resources.Resources"?) so that it is less likely to trigger this sort of problem. The current names of these components mean that this will add 175 characters to your project folder ("\obj\x86\Debug\Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices\en\Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.Resources.Resource.resw") or more for Release builds (because "Release" is longer than "Debug")
Actual behavior
We get the error "Could not find a part of the path" which is not helpful when trying to diagnose the problem.
Additional context
Very long component names tend to cause path length problems, so it would be great it there was any way to make the names shorter.
The text was updated successfully, but these errors were encountered: