Как определить, что сборка была скомпилирована с / для .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, и оно запускается, но если единственный способ выяснить, есливсе работает путем тестированиявсе, тогда я бы лучше попробовал немного больше, чтобы посмотреть, будет ли он построен с правильной версией в первую очередь.

Так возможно ли это?

Ответы на вопрос(2)

Ваш ответ на вопрос