首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Visual 2015更新1中从构建后事件执行AL.EXE时出错1073741819 (0xC0000005)

在Visual 2015更新1中从构建后事件执行AL.EXE时出错1073741819 (0xC0000005)
EN

Stack Overflow用户
提问于 2015-12-02 19:12:16
回答 2查看 2.3K关注 0票数 6

使用VisualStudio2015Update 1,我正在测试在构建后事件中运行命令C++ AL.EXE时,Visual类库项目(C++/CLI)中的一个问题(在Visual 2015中没有发生):AL.EXE应用程序崩溃,系统返回错误代码-1073741819 (0xC0000005)。

在这里,构建后事件的内容:

代码语言:javascript
复制
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命令的路径,因为VisualStudio2015Update 1使用了路径:

代码语言:javascript
复制
C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools

所以我试着

代码语言:javascript
复制
C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 Tools

但还是不起作用。

您可以重现问题,创建新的Visual ++的CLR类库,并在生成后事件中添加对AL.exe的简单调用。

你知道如何解决这个问题吗?

编辑:我还试着用这样的AfterBuild目标来完成这个任务:

代码语言:javascript
复制
<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尝试运行命令AL.EXE,但它会崩溃,返回-1073741819。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-12-10 06:51:07

感谢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#10659560

在nmake文件或post生成事件中调用al.exe之前添加以下行 chcp 437 这将在运行al.exe之前将控制台代码页重置为已知值。

票数 5
EN

Stack Overflow用户

发布于 2017-07-25 08:56:11

在构建我的ASP.NET项目时,我遇到了同样的问题。

Studio\2017\Community\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(3441,5):文件(x86)\Microsoft Visual 1>C:\Program error MSB6006:"al.exe“与代码1073741819一起退出。

在您更改默认控制台窗口属性中的默认代码页后,就会发生这种情况:

只要将它恢复到437,问题就解决了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34051040

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档