MSVC STL's <string_view> currently directly includes <xstring>, which provides most contents of <string>.
I think it's OK for <string> to include <string_view> (since C++17). But when one only includes <string_view>, perhaps it's sometimes expected that no mechanism of dynamic allocation is made available.
If the status quo is not by design, I think we may extract the mechanisms of char_traits into a new internal header and make <string_view> slimmer.