Я наткнулся на этот пост, имея дело с аналогичной проблемой в VB.NET. Я использовал литералы XML, и мне потребовались некоторые поиски, чтобы выяснить, как заставить это решение работать с конструкцией литерала XML, а не только с функциональной конструкцией.
Решение - импортировать пространство имен XML вверху файла.
Imports <xmlns:ns="x-schema:tsSchema.xml">
И затем префикс всех моих литералов XML в выражении запроса с импортированным пространством имен. Это удаляет пустое пространство имен, которое появлялось на элементах, когда я сохранял свои выходные данные.
Dim output As XDocument = <?xml version="1.0" encoding="utf-8"?>
<XML ID="Microsoft Search Thesaurus">
<thesaurus xmlns="x-schema:tsSchema.xml">
<diacritics_sensitive>0</diacritics_sensitive>
<%= From tg In termGroups _
Select <ns:expansion>
<%= From t In tg _
Select <ns:sub><%= t %></ns:sub> %>
</ns:expansion> %>
</thesaurus>
</XML>
output.Save("C:\thesaurus.xml")
Надеюсь, это кому-нибудь поможет. Несмотря на неровности на дороге, подобные этому, API XLinq чертовски крут.