Relative file paths and Target Framework Monikers (TFM)
- Dominant language
- C#
- Stars
- 25
- Forks
- 10
- Avg merge
- 12h 50m
- Merged PRs (30d)
- 10
Description
When copying static file content in either direction, the files relative path is kept intact. That is if the file `bar.storyboard` is in a subfolder `foo` under the .NET project folder. Then the file is copied into a subfolder name foo in the Xcode project.
This is fine until you consider the .NET MAUI project. .NET MAUI segregates platform specific files in the `Platforms` folder, so iOS-specific files are in the `Platforms/iOS` and Mac Catalyst files are in the `Platforms/MacCatalyst` folder. It is expected that `.storyboard`, `.xib`, files and `.xcassets` folders would reside under the appropriate platform folder. In that case those files/folders are copied to the Xcode project correctly, in a subfolder `Platforms/iOS` or `Platforms/MacCatalyst`
However, since by default, the Xcode project is generated in a TFM specific folder, and each Xcode project generated for a specific TFM when generating or syncing the project with a specified TFM, or if there is only one supported TFM, then the relative path for `Platforms/iOS` and `Platforms/MacCatalyst` can be removed. This makes the .NET MAUI project projection to Xcode appear similar to a non-MAUI project resulting in a unified user experience across different project types.
Contributor guide
Assessment
This issue has not been assessed yet.