По этому вопросу было много ответов, только ничего не подходит, поскольку склеивание файла лишает смысла всю программу, и я пишу в файл настройки, меняющие поведение приложения. .NET Framework 4.5.2.
В приложение должна входить эта настройка:
<runtime>
<AppContextSwitchOverrides value="Switch.UseLegacyAccessibilityFeatures=false" />
</runtime>
Нашел одно решение, но оно довольно "грязное", смотрите сами использовать или нет.
Так как AppContext и сами переключатели появились только в версии 4.6, то 4.5.2 и меньше просто ни чего о них не знают и компилятор не позволяет использовать класс AppContext
, так как приложение должно уметь запускаться на целевой версии фреймворка. Через настройки AppConfig это работает, т.к. его читает уже реальная среда исполнения, которая знает что и как с ними нужно делать.
Чтобы обойти ограничение 4.5.2 можно воспользоваться записью в реестр, но сделать запись в реестре нужно до активации формы, в методе main, иначе опция будет проигнорирована. Получится что-то такое:
static class Program
{
[STAThread]
static void Main()
{
//создаем ключ и нужные значения при запуске
var HKLM = Registry.LocalMachine;
var sw = HKLM.CreateSubKey(@"SOFTWARE\Wow6432Node\Microsoft\.NETFramework\AppContext");
sw.SetValue("Switch.UseLegacyAccessibilityFeatures", "false");
//активируем оконную часть приложения
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
//удаляем ключ при завершении, чтобы не мусорить в системе,
//может быть лучше вынести в событие FormClosed
HKLM.DeleteSubKey(@"SOFTWARE\Wow6432Node\Microsoft\.NETFramework\AppContext");
}
}
Важно! Запись в данную ветку реестра требует повышения привилегий до уровня администратора системы и повлияет на все .NET приложения.
Ключ реестра указан для Win10x64, конфигурация сборки AnyCPU. Для других версий ОС
и конфигурации сборки может потребоваться корректировка, например такая @"SOFTWARE\Microsoft\.NETFramework\AppContext"
. Но с этим я уже не экспериментировал.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
При попытке отобразить изображение
Есть участок кода где перехватываются клавиши и блокируются:
Появилась проблема со считыванием большого файлаИндекс массива, в который записываются строки(array[i]), останавливается на 174 и всё
Можно как то получить папки из быстрого доступа проводника?