2015-12-02 6 views
5

Mit Visual Studio 2015 Update 1 experimentiere ich ein Problem (das nicht mit Visual Studio 2015 passiert) in Ein Visual C++ - CLR-Klassenbibliotheksprojekt (C++/CLI) beim Ausführen des Befehls AL.EXE im Post-Build-Ereignis: Die AL.EXE-Anwendung ist abgestürzt und das System gibt den Fehlercode -1073741819 (0xC0000005) zurück.Fehler -1073741819 (0xC0000005) beim Ausführen von AL.EXE von Post-Build-Ereignis in Visual Studio 2015 Update 1

Hier wird der Inhalt des Postbuildereignisses:

sn -Rca "$(SolutionDir)bin\$(Configuration)\$(Platform)\$(TargetName)$(TargetExt)" dwo 
Resgen "$(ProjectDir)Recursos.es-ES.resx" "$(IntDir)$(ProjectName).Recursos.es-ES.resources" 
Al.exe /t:lib /embed:"$(IntDir)$(ProjectName).Recursos.es-ES.resources",Recursos.es-ES.resources /version:15.0.0.0 /culture:es-ES /out:"$(OutDir)es-ES\$(TargetName).resources.dll" /keyname:dwo 

Und hier noch ein Snipping des Ereignisanzeige der Fehler der Al.exe Anwendung zeigt jedes Mal, wenn ich es aus dem Post-Build-Ereignisse ausgeführt (Kompilieren meines Projekts).

enter image description here

Die Kommandozeile ist korrekt, wie Sie sehen können, wenn ich es von einer Konsole ausführen:

enter image description here

Also ich bin sicher, dass das Problem nicht, weil der Zeilenbefehl ist.

Auch habe ich versucht, den Pfad zu einem anderen Al.exe Befehl angeben, weil Visual Studio 2015 Update 1 den Pfad verwendet:

C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools 

Also habe ich versucht, mit

C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 Tools 

aber immer noch nicht funktioniert .

Sie können das Problem reproduzieren, indem Sie eine neue Visual C++ - CLR - Klassenbibliothek erstellen und einen einfachen Aufruf von AL.exe im Post - Build - Ereignis hinzufügen.

Wissen Sie, wie Sie dieses Problem lösen können?

EDIT: Ich habe auch versucht es mit einem Afterbuild Ziel wie dies zu tun:

<Target Name="AfterBuild"> 
    <Exec Command="Al.exe /t:lib /embed:&quot;$(IntDir)$(ProjectName).Recursos.es-ES.resources&quot;,Recursos.es-ES.resources /version:15.0.0.0 /culture:es-ES /out:&quot;$(OutDir)es-ES\$(TargetName).resources.dll&quot; /keyname:dwo"/> 
</Target> 

Und das Ergebnis ist das gleiche: Visual Studio versucht, den Befehl Al.exe laufen, aber es stürzt -1073741819 zurück.

+0

Bestätigt. Die Version 4.6.1 bombardiert auch. Quacksalber mögen ein DLL-Problem, aber ich sehe es nicht falsch machen. Ich hatte eine Menge Probleme mit der Installation des Updates, es hängt während der Installation des SDK und ich musste es beenden, ich konnte nur durch Neuinstallation von Grund auf wiederherstellen, die auch nicht gut ging. Hattest du so ein Missgeschick? –

+0

Ich habe das gleiche Problem in meinen C# -Projekten. Ich muss Politikdll mit al.exe im Nachbauereignis erstellen, aber der Linker stürzt ab. Es funktionierte vor Update1 und VS2012 gut. Es funktioniert gut, wenn ich denselben Befehl direkt von der Befehlszeile aus führe. Ich habe einen Absturz, auch wenn ich den Befehl in Batch-Datei speichern und aus dem Post-Build-Ereignis ausführen. Ich habe versucht, es mit verschiedenen FW und verschiedenen Versionen der al.exe auszuführen, aber das Ergebnis ist das gleiche. –

+0

Ich habe auch versucht, den Befehl als Powershell-Skript in einem Post-Build-Ereignis auszuführen. Das Ergebnis ist das gleiche. Der einzige Unterschied ist, dass in diesem Fall der Build nicht fehlschlägt. Wenn ich das gleiche Skript direkt von der Powershell ausführen, funktioniert es gut –

Antwort

0

Ich renne gerade in das gleiche Problem beim Versuch, mein ASP.NET-Projekt zu erstellen.

al.exe error message

1> C: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ Gemeinschafts \ MSBuild \ 15.0 \ Bin \ Microsoft.Common.CurrentVersion.targets (3441,5): Fehler MSB6006: "al.exe" mit Code -1073741819 beendet.

Dies geschieht, nachdem Sie die Standard-Codepage in Standard-Konsolenfenster Eigenschaften geändert: Defaults Default code page

zurückkehren Sie es einfach zu 437 und das Problem ist weg.