Remove legacy projects importing Xamarin.Android.CSharp.targets#11684
Open
jonathanpeppers wants to merge 2 commits into
Open
Remove legacy projects importing Xamarin.Android.CSharp.targets#11684jonathanpeppers wants to merge 2 commits into
jonathanpeppers wants to merge 2 commits into
Conversation
The `Xamarin.Android.CSharp.targets` import is the classic (non-SDK-style) Xamarin.Android project format and is no longer supported. Remove the legacy test projects that still rely on it: * `tests/EmbeddedDSOs/` * `tests/locales/` * `tests/ResolveImports/` Update `Xamarin.Android-Tests.sln` to drop the removed projects and their now-empty `Locales` and `ResolveImports` solution folders, and clean up the documentation that referenced these projects or the legacy `Xamarin.Android.CSharp.targets` import: * `Documentation/workflow/UnitTests.md` * `Documentation/docs-mobile/building-apps/build-process.md` * `Documentation/project-docs/ExploringSources.md` * `.github/skills/tests/references/test-catalog.md` Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Contributor
There was a problem hiding this comment.
Pull request overview
Removes dead/legacy (non-SDK-style) test projects that still imported Xamarin.Android.CSharp.targets and cleans up solution/documentation references so the repo no longer points at unsupported project formats on main.
Changes:
- Removed legacy test project directories (
tests/EmbeddedDSOs/,tests/locales/,tests/ResolveImports/) and their project files/resources. - Updated
Xamarin.Android-Tests.slnto drop the removed projects and solution folders. - Updated documentation and test catalog references to stop pointing at the removed projects.
Reviewed changes
Copilot reviewed 95 out of 104 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| Xamarin.Android-Tests.sln | Removes legacy test project entries and associated solution folder/config mappings |
| tests/ResolveImports/.gitignore | Removes ignore rules for deleted ResolveImports artifacts |
| tests/ResolveImports/Xamarin.Android.BindingResolveImports-Tests/Xamarin.Android.BindingResolveImports-Tests.csproj | Removes legacy ResolveImports test app project |
| tests/ResolveImports/Xamarin.Android.BindingResolveImports-Tests/MainActivity.cs | Removes legacy ResolveImports test app source |
| tests/ResolveImports/Xamarin.Android.BindingResolveImports-Tests/Assets/AboutAssets.txt | Removes ResolveImports test app asset doc |
| tests/ResolveImports/Xamarin.Android.BindingResolveImports-Tests/Properties/AndroidManifest.xml | Removes ResolveImports test app manifest |
| tests/ResolveImports/Xamarin.Android.BindingResolveImports-Tests/Properties/AssemblyInfo.cs | Removes ResolveImports test app assembly info |
| tests/ResolveImports/Xamarin.Android.BindingResolveImports-Tests/Resources/AboutResources.txt | Removes ResolveImports test app resource doc |
| tests/ResolveImports/Xamarin.Android.BindingResolveImports-Tests/Resources/layout/Main.axml | Removes ResolveImports test app layout |
| tests/ResolveImports/Xamarin.Android.BindingResolveImports-Tests/Resources/values/Strings.xml | Removes ResolveImports test app strings |
| tests/ResolveImports/Xamarin.Android.BindingResolveImportLib1/Xamarin.Android.BindingResolveImportLib1.csproj | Removes legacy binding project Lib1 |
| tests/ResolveImports/Xamarin.Android.BindingResolveImportLib1/Xamarin.Android.BindingResolveImportLib1.targets | Removes Lib1 custom targets |
| tests/ResolveImports/Xamarin.Android.BindingResolveImportLib1/Additions/AboutAdditions.txt | Removes Lib1 additions doc |
| tests/ResolveImports/Xamarin.Android.BindingResolveImportLib1/Jars/AboutJars.txt | Removes Lib1 jars doc |
| tests/ResolveImports/Xamarin.Android.BindingResolveImportLib1/Jars/com/xamarin/android/test/binding/resolveimport/Lib1.java | Removes Lib1 Java source |
| tests/ResolveImports/Xamarin.Android.BindingResolveImportLib1/Properties/AndroidManifest.xml | Removes Lib1 manifest |
| tests/ResolveImports/Xamarin.Android.BindingResolveImportLib1/Properties/AssemblyInfo.cs | Removes Lib1 assembly info |
| tests/ResolveImports/Xamarin.Android.BindingResolveImportLib1/Transforms/EnumFields.xml | Removes Lib1 transform file |
| tests/ResolveImports/Xamarin.Android.BindingResolveImportLib1/Transforms/EnumMethods.xml | Removes Lib1 transform file |
| tests/ResolveImports/Xamarin.Android.BindingResolveImportLib1/Transforms/Metadata.xml | Removes Lib1 transform file |
| tests/ResolveImports/Xamarin.Android.BindingResolveImportLib2/Xamarin.Android.BindingResolveImportLib2.csproj | Removes legacy binding project Lib2 |
| tests/ResolveImports/Xamarin.Android.BindingResolveImportLib2/Xamarin.Android.BindingResolveImportLib2.targets | Removes Lib2 custom targets |
| tests/ResolveImports/Xamarin.Android.BindingResolveImportLib2/Additions/AboutAdditions.txt | Removes Lib2 additions doc |
| tests/ResolveImports/Xamarin.Android.BindingResolveImportLib2/Additions/Addition.cs | Removes Lib2 additions source |
| tests/ResolveImports/Xamarin.Android.BindingResolveImportLib2/Jars/AboutJars.txt | Removes Lib2 jars doc |
| tests/ResolveImports/Xamarin.Android.BindingResolveImportLib2/Jars/com/xamarin/android/test/binding/resolveimport/Lib2.java | Removes Lib2 Java source |
| tests/ResolveImports/Xamarin.Android.BindingResolveImportLib2/Properties/AssemblyInfo.cs | Removes Lib2 assembly info |
| tests/ResolveImports/Xamarin.Android.BindingResolveImportLib2/Transforms/EnumFields.xml | Removes Lib2 transform file |
| tests/ResolveImports/Xamarin.Android.BindingResolveImportLib2/Transforms/EnumMethods.xml | Removes Lib2 transform file |
| tests/ResolveImports/Xamarin.Android.BindingResolveImportLib2/Transforms/Metadata.xml | Removes Lib2 transform file |
| tests/ResolveImports/Xamarin.Android.BindingResolveImportLib2/jni/Android.mk | Removes Lib2 native build script |
| tests/ResolveImports/Xamarin.Android.BindingResolveImportLib2/jni/Application.mk | Removes Lib2 native build script |
| tests/ResolveImports/Xamarin.Android.BindingResolveImportLib2/jni/timing.c | Removes Lib2 native source |
| tests/ResolveImports/Xamarin.Android.BindingResolveImportLib3/Xamarin.Android.BindingResolveImportLib3.csproj | Removes legacy binding project Lib3 |
| tests/ResolveImports/Xamarin.Android.BindingResolveImportLib3/Xamarin.Android.BindingResolveImportLib3.targets | Removes Lib3 custom targets |
| tests/ResolveImports/Xamarin.Android.BindingResolveImportLib3/Additions/AboutAdditions.txt | Removes Lib3 additions doc |
| tests/ResolveImports/Xamarin.Android.BindingResolveImportLib3/Jars/AboutJars.txt | Removes Lib3 jars doc |
| tests/ResolveImports/Xamarin.Android.BindingResolveImportLib3/Jars/com/xamarin/android/test/binding/resolveimport/Lib3.java | Removes Lib3 Java source |
| tests/ResolveImports/Xamarin.Android.BindingResolveImportLib3/Properties/AndroidManifest.xml | Removes Lib3 manifest |
| tests/ResolveImports/Xamarin.Android.BindingResolveImportLib3/Properties/AssemblyInfo.cs | Removes Lib3 assembly info |
| tests/ResolveImports/Xamarin.Android.BindingResolveImportLib3/Transforms/EnumFields.xml | Removes Lib3 transform file |
| tests/ResolveImports/Xamarin.Android.BindingResolveImportLib3/Transforms/EnumMethods.xml | Removes Lib3 transform file |
| tests/ResolveImports/Xamarin.Android.BindingResolveImportLib3/Transforms/Metadata.xml | Removes Lib3 transform file |
| tests/ResolveImports/Xamarin.Android.BindingResolveImportLib4/Xamarin.Android.BindingResolveImportLib4.csproj | Removes legacy binding project Lib4 |
| tests/ResolveImports/Xamarin.Android.BindingResolveImportLib4/Xamarin.Android.BindingResolveImportLib4.targets | Removes Lib4 custom targets |
| tests/ResolveImports/Xamarin.Android.BindingResolveImportLib4/Additions/AboutAdditions.txt | Removes Lib4 additions doc |
| tests/ResolveImports/Xamarin.Android.BindingResolveImportLib4/Jars/AboutJars.txt | Removes Lib4 jars doc |
| tests/ResolveImports/Xamarin.Android.BindingResolveImportLib4/Jars/com/xamarin/android/test/binding/resolveimport/Lib4.java | Removes Lib4 Java source |
| tests/ResolveImports/Xamarin.Android.BindingResolveImportLib4/Properties/AssemblyInfo.cs | Removes Lib4 assembly info |
| tests/ResolveImports/Xamarin.Android.BindingResolveImportLib4/Transforms/EnumFields.xml | Removes Lib4 transform file |
| tests/ResolveImports/Xamarin.Android.BindingResolveImportLib4/Transforms/EnumMethods.xml | Removes Lib4 transform file |
| tests/ResolveImports/Xamarin.Android.BindingResolveImportLib4/Transforms/Metadata.xml | Removes Lib4 transform file |
| tests/ResolveImports/Xamarin.Android.BindingResolveImportLib4/jni/Android.mk | Removes Lib4 native build script |
| tests/ResolveImports/Xamarin.Android.BindingResolveImportLib4/jni/Application.mk | Removes Lib4 native build script |
| tests/ResolveImports/Xamarin.Android.BindingResolveImportLib4/jni/timing.c | Removes Lib4 native source |
| tests/locales/LibraryResources/Environment.txt | Removes legacy locales helper environment file |
| tests/locales/LibraryResources/LibraryResources.csproj | Removes legacy locales helper project |
| tests/locales/LibraryResources/Resources/AboutResources.txt | Removes locales helper resource doc |
| tests/locales/LibraryResources/Resources/values/Strings.xml | Removes locales helper strings |
| tests/locales/LibraryResources/SatelliteResources.cs | Removes locales helper satellite resource access code |
| tests/locales/LibraryResources/strings.de-DE.resx | Removes locales helper satellite resx |
| tests/locales/LibraryResources/strings.fr-FR.resx | Removes locales helper satellite resx |
| tests/locales/LibraryResources/strings.resx | Removes locales helper base resx |
| tests/locales/Xamarin.Android.Locale-Tests/Assets/AboutAssets.txt | Removes legacy locales test asset doc |
| tests/locales/Xamarin.Android.Locale-Tests/Environment.txt | Removes legacy locales test environment file |
| tests/locales/Xamarin.Android.Locale-Tests/EnvironmentTests.cs | Removes legacy locales test source |
| tests/locales/Xamarin.Android.Locale-Tests/GlobalizationTests.cs | Removes legacy locales test source |
| tests/locales/Xamarin.Android.Locale-Tests/MainActivity.cs | Removes legacy locales test app source |
| tests/locales/Xamarin.Android.Locale-Tests/Properties/AndroidManifest.xml | Removes legacy locales test manifest |
| tests/locales/Xamarin.Android.Locale-Tests/Properties/AssemblyInfo.cs | Removes legacy locales test assembly info |
| tests/locales/Xamarin.Android.Locale-Tests/Resources/AboutResources.txt | Removes legacy locales test resource doc |
| tests/locales/Xamarin.Android.Locale-Tests/SatelliteAssemblyTests.cs | Removes legacy locales test source |
| tests/locales/Xamarin.Android.Locale-Tests/TestInstrumentation.cs | Removes legacy locales test instrumentation |
| tests/locales/Xamarin.Android.Locale-Tests/TimeZoneTests.cs | Removes legacy locales test source |
| tests/locales/Xamarin.Android.Locale-Tests/Xamarin.Android.Locale-Tests.csproj | Removes legacy locales test project |
| tests/locales/Xamarin.Android.Locale-Tests/Xamarin.Android.Locale-Tests.projitems | Removes legacy locales test projitems |
| tests/locales/Xamarin.Android.Locale-Tests/strings.de-DE.resx | Removes legacy locales test satellite resx |
| tests/locales/Xamarin.Android.Locale-Tests/strings.fr-FR.resx | Removes legacy locales test satellite resx |
| tests/locales/Xamarin.Android.Locale-Tests/strings.resx | Removes legacy locales test base resx |
| tests/EmbeddedDSOs/EmbeddedDSO/Assets/AboutAssets.txt | Removes legacy EmbeddedDSO test asset doc |
| tests/EmbeddedDSOs/EmbeddedDSO/EmbeddedDSO.csproj | Removes legacy EmbeddedDSO test project |
| tests/EmbeddedDSOs/EmbeddedDSO/EmbeddedDSO.projitems | Removes legacy EmbeddedDSO projitems |
| tests/EmbeddedDSOs/EmbeddedDSO/Environment.txt | Removes legacy EmbeddedDSO environment file |
| tests/EmbeddedDSOs/EmbeddedDSO/MainActivity.cs | Removes legacy EmbeddedDSO app source |
| tests/EmbeddedDSOs/EmbeddedDSO/NUnitInstrumentation.cs | Removes legacy EmbeddedDSO instrumentation |
| tests/EmbeddedDSOs/EmbeddedDSO/Properties/AndroidManifest.xml | Removes legacy EmbeddedDSO manifest |
| tests/EmbeddedDSOs/EmbeddedDSO/Properties/AssemblyInfo.cs | Removes legacy EmbeddedDSO assembly info |
| tests/EmbeddedDSOs/EmbeddedDSO/Resources/AboutResources.txt | Removes legacy EmbeddedDSO resource doc |
| tests/EmbeddedDSOs/EmbeddedDSO/Resources/layout/Main.axml | Removes legacy EmbeddedDSO layout |
| tests/EmbeddedDSOs/EmbeddedDSO/Resources/values/Strings.xml | Removes legacy EmbeddedDSO strings |
| tests/EmbeddedDSOs/EmbeddedDSO/Tests.cs | Removes legacy EmbeddedDSO NUnit test |
| Documentation/workflow/UnitTests.md | Removes references to deleted legacy test projects (and should be aligned with current on-device runner) |
| Documentation/project-docs/ExploringSources.md | Removes stale note about Xamarin.Android.CSharp.targets location |
| Documentation/docs-mobile/building-apps/build-process.md | Removes stale “Target definitions” section describing manual Xamarin.Android.CSharp.targets imports |
| .github/skills/tests/references/test-catalog.md | Removes deleted test entries (and should be aligned with current on-device runner) |
Comment on lines
395
to
399
| @@ -399,8 +399,6 @@ the tests on the device. They use a custom mobile version of `NUnit` called | |||
| These tests are generally found in: | |||
Comment on lines
131
to
135
| | **system.xml** | Same project — tests in `System.Xml/` | XML processing tests | | ||
| | **threading** | Same project — tests in `System.Threading/` | Threading and async tests | | ||
| | **drawing** | Same project — tests in `System.Drawing/` | System.Drawing tests | | ||
| | **locales (on-device)** | `tests/locales/Xamarin.Android.Locale-Tests/Xamarin.Android.Locale-Tests.csproj` | Locale/culture/globalization | | ||
| | **embedded DSOs** | `tests/EmbeddedDSOs/EmbeddedDSO/EmbeddedDSO.csproj` | Native library loading | | ||
|
|
||
| ### On-device test categories |
Comment on lines
131
to
135
| | **system.xml** | Same project — tests in `System.Xml/` | XML processing tests | | ||
| | **threading** | Same project — tests in `System.Threading/` | Threading and async tests | | ||
| | **drawing** | Same project — tests in `System.Drawing/` | System.Drawing tests | | ||
| | **locales (on-device)** | `tests/locales/Xamarin.Android.Locale-Tests/Xamarin.Android.Locale-Tests.csproj` | Locale/culture/globalization | | ||
| | **embedded DSOs** | `tests/EmbeddedDSOs/EmbeddedDSO/EmbeddedDSO.csproj` | Native library loading | | ||
|
|
||
| ### On-device test categories |
…e-csharp-targets-imports
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The
Xamarin.Android.CSharp.targetsimport is the classic (non-SDK-style) Xamarin.Android project format and is no longer supported onmain. Three test directories still imported it but were not wired into any CI pipeline,Makefiletarget, orRunTestAppinvocation — git history shows the last substantive change to each was in 2020. They were dead code that the test solution still listed.Remove the legacy projects and everything that referenced them:
tests/EmbeddedDSOs/tests/locales/(Xamarin.Android.Locale-Tests+ theLibraryResourceshelper)tests/ResolveImports/(test app + 4BindingResolveImportLib*bindings)Xamarin.Android-Tests.slndrops the 8 project entries plus the now-emptyLocalesandResolveImportssolution folders, including all of theirProjectConfigurationPlatformsrows andNestedProjectsmappings.Documentation is updated to stop pointing at the removed projects and to drop the stale "Target definitions" section that documented manually importing
Xamarin.Android.CSharp.targets:Documentation/workflow/UnitTests.mdDocumentation/docs-mobile/building-apps/build-process.mdDocumentation/project-docs/ExploringSources.md.github/skills/tests/references/test-catalog.mdThe remaining
EmbeddedDSO[s]/GenerateLibraryResourcesreferences in the repo are unrelated — they belong to the SDK's runtimeEmbeddedDSOsEnabledpackaging feature (Xamarin.Android.Common.targets,ReadAndroidManifest.cs) and to an MSBuild[Test] EmbeddedDSOsmethod inPackagingTest.csthat builds its own project viaXamarin.ProjectTools.No unit tests are added: this PR only deletes orphaned projects.