Add long paths support#33030
Conversation
|
Executable projects to update include: Should each one of these be manually tested? Seems like some of these don't have associated App.configs, so maybe they should be filtered out? Shipping tools under |
No. I'd focus on testing one or two. That combined with the BuildBoss change to ensure they all have a manifest should be sufficient for covering our bases. |
7a22182 to
e6eb8d8
Compare
|
It's looking prohibitively difficult to test long paths support because the test runner isn't long path aware. |
| <SignAssembly>false</SignAssembly> | ||
| <UseVSHostingProcess>false</UseVSHostingProcess> | ||
| <IsShipping>false</IsShipping> | ||
| <ApplicationManifest>$(RepositoryEngineeringDir)config\app.manifest</ApplicationManifest> |
There was a problem hiding this comment.
We should update BuildBoss to ensure every project with OutputType of EXE also has an ApplicationManifest entry.
There was a problem hiding this comment.
Can we instead set ApplicationManifest property in Imports.targets if the project set OutputType to exe or winexe and the target is .NET Framework? That way we'll have correctness by construction. I don't think the app manifest should be set when targeting .NET Core.
There was a problem hiding this comment.
I'm thinking this might actually be a good default in Arcade SDK -- if the project does not specify ApplicationManifest (or even in .NET Core SDK). I'll follow up on moving this to Arcade SDK once we have Roslyn change checked in and working.
|
Done with review pass (iteration 4) |
Resolves #32804
- [ ] Reuse configs where possible between executables- [ ] Conditional test for long path support which spawns a csc subprocess- [ ] BuildBoss update to check proper configuration of .exe projects