Как определить, что сборка была скомпилирована с / для .NET 4.5, а не с .NET 4.0?
У меня есть некоторые агенты сборки, которые собирают для нас код .NET с помощью установки TeamCity, и я начинаю задумываться, выводят ли они, несмотря на настройки проекта, сборки .NET 4.5. Мои сомнения связаны с тем, что я не знаю, был ли Windows 2012 Server поставлен с .NET 4.5 или 4.0 из коробки и, следовательно, имел ли он когда-либо только 4.0 или какую-либо из доступных 4.0 сборок.
Как я могу посмотреть на сборку на диске и определить, была ли она построена на .NET 4.0 или 4.5?
Как видно изэто сообщение в блоге Марка Гравелла, тамнаходятся различия в построении этих сборок, даже если мы на самом деле не можем специально использовать какие-либо сборки / функции .NET 4.5.
Я пытался использовать ILDASM в сборке, но ссылка на метаданные в известном консольном приложении .NET 4.5 (.1) все еще говорит 4.0:
// Metadata version: v4.0.30319
Я попытался запустить приложение Windows 7 с установленным только .NET 4.0, и оно запускается, но если единственный способ выяснить, есливсе работает путем тестированиявсе, тогда я бы лучше попробовал немного больше, чтобы посмотреть, будет ли он построен с правильной версией в первую очередь.
Так возможно ли это?