As of the upgrade to 3.5, Define Projection no longer works to define coordinate systems of existing geodatabase feature datasets or feature classes (whether undefined or improperly defined). It was originally explained to me that this was a bug (BUG-000176807), but later that explanation was corrected to "known issue," and it was explained to me that it is by design to "remove a loophole."
The explanation as to why this change was made is: "Geodatabase feature datasets and feature classes are not designed to have their coordinate systems changed after creation. The ability to update the coordinate system on feature dataset was an oversight and should not have been allowed. At ArcGIS Pro 3.5, that loophole was blocked. The change was on purpose. The new workflow is to make sure that a feature dataset or feature class has the correct coordinate system upon creation. Note: the coordinate system is often used to set the spatial domain (allowed range of coordinates), xy/z/m tolerance and resolution values. When the coordinate system is unknown, those values may be inappropriate for a coordinate system that is defined later."
While I understand the concerns of the developers, this is proving onerous to myself and others (My thread on ESRI Community and Another thread). It's making the software much less usable in multiple workflows. The workarounds suggested cause me and my staff MORE work and make the product less helpful. I've been using Define Projection for years and have never run into an instance where the "values may be inappropriate for a coordinate system that is defined later."
Here is a use case for using Define Projection on existing datasets with undefined coordinate systems: We do a lot of airport mapping--both feature mapping and obstruction analysis. The FAA developed a complex file geodatabase to reflect the data structure required by the governing circular AC150/5300-18B. The geodatabase contains 11 datasets with a huge number of feature classes stored in them. Each feature class has a large number of attributes, many of which are governed by domains. The datasets in this geodatabase have no defined coordinate system, as the geodatabase is used all over the country.
The first step we take upon working with a new airport is to define the coordinate system for all the datasets before we begin populating them with data. With the upgrade to ArcGIS Pro 3.5, we are now unable to define the projection on those datasets, since they are undefined. It just generates an error.
Additionally, we use in-house file geodatabase "templates" daily—importing data into existing data structures. The first step in those workflows is to define the projection of the datasets within the geodatabases. Now we can no longer use those templates—a longer, more convoluted workaround is needed.
Rather than removing functionality that has been used for years, it makes more sense to me that the developers continue to allow the tool to work and instead insert some sort of warning upon execution of the tool about the possibility of incorrect spatial tolerances and resolutions.
This feels like unneeded oversight. It's making your software less useful. We are skilled GIS professionals, and the development team should trust us to understand and utilize tools.
I've opened two cases with Support Services and have been told there's nothing they can do.