-
Notifications
You must be signed in to change notification settings - Fork 516
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
[release/7.0.3xx] [remote] Explicitly import .mobile.props file (#18718) #19044
Conversation
The .mobile.props file is a file created and written by the mobile VS extension to store property values that needs to be read early enough in the build chain, as in design time builds, and that can't be set by CPS because of a limitation in the project system. See more information here: xamarin/XamarinVS#13606 Initially it was named .user.env file and then was renamed in another PR as part of a feedback from the project system team. See more information here: xamarin/XamarinVS#13628 Because this file was saved in the intermediate output path, it was meant to be imported automatically by MSBuild, however we recently detected that this was not happening reliably. Because of this, some things like C# Hot Reload for iOS stopped working because Roslyn was reading incorrect values from the Design Time Builds. For that reason and to avoid relying on the project system, I'm importing this file explicitly (and removing old .user.env import), so the values in the file are always available and the dependent properties are calculated correctly and available for all the consumers (including Roslyn). This should fix the following bugs: https://devdiv.visualstudio.com/DevDiv/_workitems/edit/1822041 https://devdiv.visualstudio.com/DevDiv/_workitems/edit/1851677
💻 [CI Build] Windows Integration Tests passed 💻✅ All Windows Integration Tests passed. Pipeline on Agent |
💻 [PR Build] Tests on macOS M1 - Mac Ventura (13.0) passed 💻✅ All tests on macOS M1 - Mac Ventura (13.0) passed. Pipeline on Agent |
💻 [PR Build] Tests on macOS M1 - Mac Big Sur (11.5) passed 💻✅ All tests on macOS M1 - Mac Big Sur (11.5) passed. Pipeline on Agent |
✅ API diff for current PR / commitNET (empty diffs)
✅ API diff vs stable.NET (No breaking changes)✅ Generator diffGenerator diff is empty Pipeline on Agent |
🚀 [CI Build] Test results 🚀Test results✅ All tests passed on VSTS: simulator tests. 🎉 All 77 tests passed 🎉 Tests counts
Pipeline on Agent |
The .mobile.props file is a file created and written by the mobile VS extension to store property values that needs to be read early enough in the build chain, as in design time builds, and that can't be set by CPS because of a limitation in the project system. See more information here: https://github.com/xamarin/XamarinVS/pull/13606
Initially it was named .user.env file and then was renamed in another PR as part of a feedback from the project system team. See more information here: https://github.com/xamarin/XamarinVS/pull/13628
Because this file was saved in the intermediate output path, it was meant to be imported automatically by MSBuild, however we recently detected that this was not happening reliably. Because of this, some things like C# Hot Reload for iOS stopped working because Roslyn was reading incorrect values from the Design Time Builds.
For that reason and to avoid relying on the project system, I'm importing this file explicitly (and removing old .user.env import), so the values in the file are always available and the dependent properties are calculated correctly and available for all the consumers (including Roslyn).
This should fix the following bug:
https://devdiv.visualstudio.com/DevDiv/_workitems/edit/1885612