Como identificar que um assembly foi compilado com / para o .NET 4.5, em oposição ao .NET 4.0?

Eu tenho alguns agentes de compilação que estão criando o código .NET para nós por meio de uma instalação do TeamCity e estou começando a me perguntar se, apesar das configurações do projeto, eles estão produzindo assemblies criados no .NET 4.5. Minhas dúvidas advêm do fato de eu não saber se o Windows 2012 Server veio com o .NET 4.5 ou 4.0 pronto para uso e, portanto, se ele já teve apenas 4.0 ou qualquer um dos assemblies 4.0 disponíveis.

Como posso olhar para um assembly no disco e determinar se ele foi criado com o .NET 4.0 ou 4.5?

Como é evidente poreste post de Marc Gravell, láestão diferenças na forma como esses assemblies são criados, mesmo que não possamos usar nenhum assemblies / recursos do .NET 4.5 especificamente.

Tentei usar o ILDASM no assembly, mas a referência de metadados em um aplicativo de console conhecido do .NET 4.5 (.1) ainda diz 4.0:

// Metadata version: v4.0.30319

Tentei iniciar o aplicativo Windows 7 com apenas o .NET 4.0 instalado e ele é iniciado, mas se a única maneira de descobrir setudo funciona é testandotudo, prefiro tentar um pouco mais para ver se ele foi criado com a versão correta primeiro.

Então isso é possível?

questionAnswers(2)

yourAnswerToTheQuestion