Ich habe ein einfaches Programm, das ich von einem Schema erstellen möchten:Kann nicht XSD aus exe erstellen
public class Program
{
public Foo f = new Bar();
}
public abstract class Foo { }
public class Bar : Foo {}
Das Programm kompiliert Bußgeld gegen .NET 4.0 (x86) auf einem 64-Bit-System. Es hat keine externen Verweise auf eine andere Bibliothek (statt natürlich mscorlib). Jetzt möchte ich ein XSD aus dieser Versammlung mit diesem Befehl erstellen:
xsd pathToAssembly/ConsoleApplication1.exe
, die gibt mir dies:
Microsoft (R) Xml Schemas/DataTypes support utility
[Microsoft (R) .NET Framework, Version 4.0.30319.1]
Copyright (C) Microsoft Corporation. All rights reserved.
Jedoch habe ich einen Fehler:
Could not load file or assembly 'ConsoleApplication1.exe' or one of its dependencies. An attempt was made to load a program with an incorrect format.
die in der Regel verursacht wird durch verschiedene Laufzeiten. Da mein Projekt aber auch .NET 4 und XSD-tool verwendet, bin ich verwirrt, warum ich das Schema nicht erstellen kann.
Ich habe bereits versucht, XSD aus dem Verzeichnis aufzurufen, in dem sich die Baugruppe befindet, die den gleichen Fehler verursacht.
Ich verwende XSD von Visual Studio 2010 innerhalb eines 64-Bit-Windows 8.1.
EDIT: Der Pfad zu XSD ist dies: C:/Program Files (x86)/Microsoft SDKs/Windows/v7.0A/Bin/NETFX 4.0 Tools/xsd.exe
Die Fehlermeldung weist auf ein 32/64 Bit-Problem hin. Ist es eine ausführbare 64-Bit-Datei, im Gegensatz zu AnyPCU? – CodeCaster
Nein, es kompiliert für x86. – HimBromBeere
https://social.msdn.microsoft.com/Forums/en-US/2a5f085a-eaf5-4c2c-9d1d-ebfcaecc21d6/xsdexe-does-not-work-for-x86-dlls-on-a-windows-x64 -system? forum = xmlandnetfx – CodeCaster