Для поддержки XP один из моих проектов теперь нацелен на .NET 4.0 и использует Microsoft.Bcl.Async для асинхронных функций .NET 4.5.
Проблема в том, что я больше не могу запутывать полученное приложение с помощью Dotfuscator (ни с профессиональной версией, ни с версией сообщества, включенной в VS 2012).
При попытке запустить запутанный исполняемый файл программа вылетает со следующей ошибкой:
Не удалось загрузить тип «System.Object» из сборки «System.Runtime, версия = 2.5.19.0».
Эта ошибка, по-видимому, возникает из-за настроек app.config, необходимых для Microsoft.Bcl.Async, а именно:
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.5.19.0" newVersion="2.5.19.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.5.19.0" newVersion="2.5.19.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
Кажется, кто-то еще столкнулся с подобной проблемой, используя другие программное обеспечение для обфускации, которое было исправлено продавцом.
Есть ли что-то, что я могу сделать, чтобы исправить это? Или это проблема с Dotfuscator? (Ну, если честно, все проблемы на самом деле связаны с тем, что Microsoft не поддерживает .NET 4.5 на XP...)