Ошибка -1073741819 (0xC0000005) при выполнении AL.EXE из события после сборки в Visual Studio 2015, обновление 1

В Visual Studio 2015 с обновлением 1 я экспериментирую с проблемой (которая не возникала в Visual Studio 2015) в проекте библиотеки классов Visual C++ CLR (C++/CLI) при выполнении команды AL.EXE в событии после сборки: Сбой приложения AL.EXE, и система возвращает код ошибки -1073741819 (0xC0000005).

Вот содержимое события после сборки:

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

А здесь фрагмент программы просмотра событий, показывающей ошибку приложения AL.exe каждый раз, когда я запускаю его из события после сборки (компиляции моего проекта).

Командная строка правильно, как вы можете видеть, если я выполню ее из консоли:

Так что я уверен, что проблема не в командной строке.

Также я попытался указать путь к другой команде AL.EXE, потому что Visual Studio 2015 Update 1 использует путь:

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

Итак, я попробовал с

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

но все еще не работает.

Вы можете воспроизвести проблему, создав новую библиотеку классов CLR в Visual C++ и добавив простой вызов AL.exe в событии после сборки.

Вы знаете, как решить эту проблему?

РЕДАКТИРОВАТЬ: я также пытался сделать это с целью AfterBuild, как это:

<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>

И результат тот же: Visual Studio пытается запустить команду AL.EXE, но она выдает ошибку, возвращая -1073741819.

2 ответа

Решение

Спасибо JaredPar за работу

http://blogs.msdn.com/b/bharry/archive/2015/11/30/vs-2015-update-1-and-tfs-2015-update-1-are-available.aspx?CommentPosted=true

Добавьте следующую строку перед вызовом al.exe в вашем файле nmake или после событий сборки

ЧКП 437

Это сбросит кодовую страницу консоли до известного значения перед запуском al.exe.

Я просто сталкиваюсь с той же проблемой, когда пытаюсь построить свой проект ASP.NET.

сообщение об ошибке al.exe

1> C: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ Community \ MSBuild \ 15.0 \ Bin \ Microsoft.Common.CurrentVersion.targets (3441,5): ошибка MSB6006: "al.exe" завершен с кодом -1073741819.

Это произойдет после того, как вы изменили кодовую страницу по умолчанию в свойствах окна консоли по умолчанию:Значения по умолчаниюКодовая страница по умолчанию

Просто верните это 437 и проблема ушла.

Другие вопросы по тегам