Я снова просмотрел все сборки, чтобы убедиться, что все они нацелены на профиль клиента: да.
Затем я начал с нового пустого приложения WinForms, и оно, как и ожидалось, запустилось на профиле клиента.Затем я добавил свои сборки, которые я использую в своем основном приложении, в это свежее приложение одну за другой.Даже после ссылки на них все новое приложение продолжало работать.
Затем я посмотрел на app.config, в котором есть некоторые записи DbProviderFactories, но удаление их не помогло.Пока я видел первый узел:
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0" />
</startup>
хмм, может быть, этот конкретный sku означает полную версию.И действительно, изменение его на
<startup>
<supportedRuntime version="v4.0" />
</startup>
решило все мои проблемы.