"Anwendungskonfiguration falsch ist" und "side-by-side-Konfiguration ungültig ist" running VS2008 64-bit-debug-build

Ich arbeite auf einem 64-bit OS windows 7 ultimate Maschine VS2008 mit 64bit addon.

Habe ich erfolgreich Baue meine Projekte in 32 & 64-bit -, debug-und release-Konfiguration.
Die 64-bit-debug nicht starten; es gibt die Fehlermeldung:

Programm kann nicht Gestartet xxx
Diese Anwendung konnte nicht gestartet werden, weil Anwendungskonfiguration nicht ordnungsgemäß ist. Überprüfen Sie die manifest-Datei auf mögliche Fehler. Neuinstallation der Anwendung könnte das problem beheben. Für mehr Einzelhandel finden Sie unter Ereignisprotokoll Anwendung.

Lief ich den dependency walker.
Aus der redistibutable Weg C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\redist\Debug_NonRedist\amd64\Microsoft.VC90.DebugCRT
Ich Hinzugefügt
Microsoft.VC90.DebugCRT.manifest
msvcm90d
msvcp90d
msvcr90d
Microsoft.VC90.DebugOpenMP
vcomp90d.sll
im bin\debug-Ordner von meiner Lösung.

Schließlich dependency walker hatte ja keine gelben Markierungen (fehlende Dateien) Links, aber es gab Fehler wie:

Fehler: mindestens eine erforderlich, implizite oder weitergeleitet Abhängigkeit wurde nicht gefunden.
Fehler: mindestens ein Modul verfügt über einen ungelösten Einfuhr aufgrund einer fehlenden export-Funktion in eine implizit abhängige Modul.
Fehler: Module mit unterschiedlichen CPU-Typen gefunden wurden.
Fehler: Der Side-by-Side-Konfiguration Informationen "e:\xyz.EXE" Fehler enthält. Die Anwendung konnte nicht gestartet werden da die side-by-side-Konfiguration ungültig ist. Finden Sie die Anwendung Ereignisprotokoll oder verwenden Sie den Befehl-Linie sxstrace.exe tool für mehr Details (14001).

Den 32-bit-manifest sagt:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
    <security>
      <requestedPrivileges>
        <requestedExecutionLevel level="asInvoker" uiAccess="false"></requestedExecutionLevel>
      </requestedPrivileges>
    </security>
  </trustInfo>
  <dependency>
    <dependentAssembly>
      <assemblyIdentity type="win32" name="Microsoft.VC90.DebugCRT" version="9.0.21022.8" **processorArchitecture="x86"** publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
    </dependentAssembly>
  </dependency>
</assembly>

In der Erwägung, dass die 64-bit-debug-manifest hat:

 <dependency>
    <dependentAssembly>
      <assemblyIdentity type="win32" name="Microsoft.VC90.DebugCRT" version="9.0.21022.8" processorArchitecture="amd64" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
    </dependentAssembly>
  </dependency>

Was ich nicht verstehe ist, warum die debug 32-bit-build erfolgreich ausgeführt werden?

Bitte helfen Sie mir, wie ich bereits geprüft haben viele Fragen, aber haben nicht gefunden keine praktikable Lösung.

  • Nicht eine doppelte, sondern das eventuell damit zusammenhängen? Nicht sicher, wenn dieses hilft bei allem: stackoverflow.com/questions/3803825/vc-crt-redist-problem
  • Versuchen Sie, führen Sie den build auf einer anderen Maschine als Sie baute es auf? In der Regel die debug-runtime ist nicht "redistributable", das heißt, Sie können nicht führen Sie es auf anderen Maschinen ohne die Erstellung von merge-Module und installieren Sie Sie auf beliebige Maschine, die Sie versuchen, führen Sie den code auf.
  • Ich glaube nicht, dass diese Frage werden helfen, dass die person, die fehlte, war eben das richtige release-runtime. Die debug-runtime ist ein Schmerz... der Regel den Aufbau einer "setup-Projekt" in der VS Griffen die merge-Module für Sie, so dass Sie installieren können, Sie zusammen mit Ihrer Binärdateien mit debug-build.
  • Ich bin laufen/starten der exe von VS2008 Umwelt selbst. Seines auf der gleichen Maschine, wo ich es bauen.
InformationsquelleAutor Kashish | 2012-01-24
Schreibe einen Kommentar