Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Waarschuwing voor metagegevensbewerking (HRESULT): warning_message
Opmerkingen
De linker heeft verschillen in metagegevens gedetecteerd bij het samenvoegen:
Een of meer assembly's waarnaar wordt verwezen met de assembly die momenteel wordt gebouwd.
Een of meer broncodebestanden in een compilatie.
LNK4227 kan bijvoorbeeld worden veroorzaakt als u twee globale functies met dezelfde naam hebt, maar parametergegevens anders zijn gedeclareerd (declaraties zijn niet consistent in alle compilands). Gebruik ildasm.exe /TEXT/METADATA object_file op elk .obj bestand om te zien hoe de typen verschillen.
LNK4227 wordt ook gebruikt om problemen te melden die afkomstig zijn van een ander hulpprogramma. Zoek naar het waarschuwingsbericht voor meer informatie.
De metagegevensproblemen moeten worden opgelost om de waarschuwing op te lossen.
Voorbeelden
LNK4227 wordt gegenereerd wanneer een assembly waarnaar wordt verwezen, anders is ondertekend dan de assembly die ernaar verwijst.
In het volgende voorbeeld wordt LNK4227 gegenereerd:
// LNK4227.cpp
// compile with: /clr
using namespace System::Reflection;
[assembly:AssemblyDelaySignAttribute(false)];
int main() {}
en vervolgens,
// LNK4227b.cpp
// compile with: /clr LNK4227.cpp /FeLNK4227b.exe
using namespace System::Reflection;
using namespace System::Runtime::CompilerServices;
[assembly:AssemblyDelaySignAttribute(true)];
// Try the following line instead
// [assembly:AssemblyDelaySignAttribute(false)];
ref class MyClass
{
};
LNK4227 kan ook worden gegenereerd wanneer versienummers in een onjuist formaat worden doorgegeven aan assembly-attributen. De *-notatie is specifiek voor de AssemblyVersionAttribute. Als u deze waarschuwing wilt oplossen, gebruikt u alleen getallen in de versiekenmerken anders dan AssemblyVersionAttribute.
In het volgende voorbeeld wordt LNK4227 gegenereerd:
// LNK4227e.cpp
// compile with: /clr /LD /W1
using namespace System::Reflection;
[assembly:AssemblyVersionAttribute("2.3.*")]; // OK
[assembly:AssemblyFileVersionAttribute("2.3.*")]; // LNK4227
// try the following line instead
// [assembly:AssemblyFileVersionAttribute("2.3")];