Utilizzo di Visual Studio 2015 Update 1, sto sperimentando un problema (che non è successo con Visual Studio 2015) in un progetto di libreria di classi CLR di Visual C++ (C++/CLI) durante l'esecuzione del comando AL.EXE nell'evento post-build: l'applicazione AL.EXE si è bloccata e il sistema restituisce il codice di errore -1073741819 (0xC0000005).Errore -1073741819 (0xC0000005) durante l'esecuzione di AL.EXE dall'evento Post-Build in Visual Studio 2015 Update 1
Qui i contenuti della manifestazione post-generazione:
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
E qui uno snipping del Visualizzatore eventi che mostra l'errore dell'applicazione Al.exe ogni volta che eseguo dall'evento post-generazione (compilando il mio progetto).
La riga di comando è correttamente come si può vedere se eseguo da una console:
quindi sono sicuro che il problema non è perché la linea di comando.
Inoltre ho cercato di specificare il percorso di un altro comando Al.exe, perché Visual Studio 2015 Update 1 utilizza il percorso:
C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools
Così ho provato con
C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 Tools
ma ancora non funziona .
È possibile riprodurre il problema creando una nuova libreria di classi CLR di Visual C++ e aggiungendo una semplice chiamata a AL.exe nell'evento Post-build.
Sai come risolvere questo problema?
EDIT: Ho provato anche a che fare con un target AfterBuild come questo:
<Target Name="AfterBuild">
<Exec Command="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"/>
</Target>
e il risultato è lo stesso: Visual Studio tenta di eseguire il comando Al.exe ma si blocca il ritorno -1073741819.
Confermato. Anche la versione 4.6.1 bombarda. È come un problema DLL ma non vedo che faccia qualcosa di sbagliato. Ho avuto un sacco di problemi nell'installare l'aggiornamento, si è bloccato durante l'installazione dell'SDK e ho dovuto terminarlo, ho potuto recuperare solo reinstallando da zero che non andava bene. Hai avuto un incidente del genere? –
Ho lo stesso problema nei miei progetti C#. Ho bisogno di creare una dll di policy con al.exe nell'evento post build ma il linker va in crash. Ha funzionato bene prima di Update1 e VS2012. Funziona bene se eseguo lo stesso comando direttamente dalla riga di comando. Ho un arresto anomalo anche se salvi il comando in un file batch ed eseguo dall'evento di post-build. Ho provato ad eseguirlo con diversi FW e versioni diverse di al.exe ma il risultato è lo stesso. –
Ho anche provato a eseguire il comando come script PowerShell in un evento post-build. Il risultato è lo stesso. L'unica differenza è che in questo caso la build non fallisce. Se eseguo lo stesso script direttamente dalla PowerShell, funziona perfettamente –