Я нашел частичный ответ на свой вопрос в этой теме:
Здесь в stackoverflow нельзя изменить целевую структуру...
В моем случае фреймворк был успешно преобразован в 4.5.2, и добавление метода с асинхронностью и ожиданием, которые, я уверен, являются частью фреймворка 4.5, метод успешно запускается exe-файлом, ссылающимся на библиотеку. Так что могу предположить, что библиотека действительно скомпилирована с использованием фреймворка 4.5.2.
Однако при ссылке в любом другом проекте библиотека показывает в своих свойствах, что она скомпилирована под framework 4.0. а когда отладчик загружает сборку выводит, что она скомпилирована под framework 4.0... Так кто прав? мой код, выполняющий методы фреймворка 4.5, или строки, сообщающие, что библиотека находится в фреймворке 4.0?
Я проверил, что возможно в моих возможностях, если в моей установке есть какие-либо файлы .targets, и да, во временной папке msbuild-targets есть два, Microsoft.Common.targets и Microsoft.Csharp.targets, но я m не могу понять, заставляют ли эти файлы компилятор использовать framework 4.0. В основном потому, что на этой машине я компилирую прямо в Visual Studio.
У меня есть несколько решений с использованием библиотек компонентов, скомпилированных 4.5.2, которые работают правильно. Поэтому я действительно не знаю, как быть уверенным, что моя библиотека скомпилирована под правильный фреймворк и что библиотека показывает правильный фреймворк в своих свойствах и при загрузке.
Если кто-то знает, как этого добиться, заранее спасибо.