Ele diz à NGen que não há problema em alinhar o método ao qual é aplicado, mesmo em uma montagem diferente.
Por exemplo:
String.Equals
tem [TargetedPatchingOptOut]
- Você escreve um programa que chama
String.Equals
- Você executa o NGen neste programa para obter o desempenho máximo
- O NGen alinhará a
String.Equals
chamada, substituindo a instrução de chamada do método pelo código real no método.
As chamadas de método são (um pouco) caras, portanto, isso é um aumento de desempenho para os métodos chamados com freqüência.
No entanto, se a Microsoft encontrar uma falha de segurança String.Equals
, eles não poderão apenas atualizar mscorlib.dll
, porque isso não afetará o assembly que você acabou de NGen. (Como possui código de máquina bruto sem referência String.Equals
).
Presumo que, se isso realmente acontecesse, a atualização de segurança limparia o armazenamento NGen.
Observe que esse atributo é útil apenas nos assemblies do .NET Framework. Você não precisa disso sozinho. Você pode encontrar mais informações sobre isso aqui: https://stackoverflow.com/a/14982340/631802