Système.Les données de l'architecture du processeur configuré pour AMD64

TFS ont émis l'avertissement suivant:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.Common.targets
(1605): Il y avait une incompatibilité entre l'architecture du processeur de l'
projet en cours de construction "MSIL" et de l'architecture du processeur de l'
référence
"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\System.Data.dll",
"AMD64". Cette incohérence peut causer d'exécution des échecs. Veuillez considérer
modification ciblée de l'architecture du processeur de votre projet grâce à
le Gestionnaire de Configuration de manière à aligner les architectures de processeur
entre votre projet et les références, ou de prendre une dépendance sur
les références avec une architecture de processeur qui correspond à l'ciblées
l'architecture du processeur de votre projet.

À la fois "Libération" et "Debug" configurations sont définies pour utiliser "any CPU" comme un actif de la plate-forme de solution.

J'ai pris une copie de System.Data.dll dans le dossier TEMP et de l'extraire de l'information à propos de cette assemblée par l'intermédiaire de PowerShell:

function ScanAssembly($assemblyPath) {
    [reflection.assemblyname]::GetAssemblyName($assemblyPath) 
}

$assemblyPath = "C:\TEMP\System.Data.dll"

$assemblyInfo = ScanAssembly($assemblyPath);
$assemblyInfo | fl;

J'ai obtenu le résultat suivant:

Name                  : System.Data
Version               : 4.0.0.0
CultureInfo           : 
CultureName           : 
CodeBase              : file:///C:/TEMP/System.Data.dll
EscapedCodeBase       : file:///C:/TEMP/System.Data.dll
ProcessorArchitecture : Amd64
ContentType           : Default
Flags                 : PublicKey
HashAlgorithm         : SHA1
VersionCompatibility  : SameMachine
KeyPair               : 
FullName              : System.Data, Version=4.0.0.0, Culture=neutral, 
                        PublicKeyToken=...

Pour une raison quelconque, le ProcessorArchitecture de la présente assemblée est fixé à Amd64. Je suis confus quant à pourquoi il est réglé sur Amd64, parce que je suis à court d'un système d'exploitation 64 bits sur un processeur Intel.

Ces avertissements ne sont pas afficher les bouchons, mais j'ai du mal à comprendre la raison pour laquelle nous voir. Si je comprends bien, la configuration est définie pour tout PROCESSEUR, lors de l'une des assemblées est compilé pour Amd64, ce qui implique qu'il ne fonctionne plus sur les CPU, il va travailler uniquement sur les 64 bits du PROCESSEUR. Pourquoi l'System.Data.dll est construit pour Amd64 est au delà de moi.

Merci.

Juste au cas où quelqu'un devient confus, AMD64 a peu à voir avec Intel vs AMD. Il signifie simplement "64 bits". C'est la même chose avec "x86" être capable de fonctionner sur les Processeurs modernes.

OriginalL'auteur | 2013-08-19