问题是云端缺少Visual C++ 2010 Runtime库.
我所做的是将Visual C++ 2010 Redistributable包添加到项目中,以及在启动时静默安装它的脚本,现在是本机dll的工作.如果你使用的是原生C dll,你也需要这个.
脚步:
1)下载Visual C++ 2010 Redistributable Package,并将其添加到您的项目中.
2)创建一个新的批处理文件并将其添加到它:
vcredist_x64.exe /q /norestart
exit /b 0
3)打开ServiceDefinition.csdef文件并将其添加到相关的WebRole元素下:
<Startup>
<Task commandLine="InstallVCRedist.bat" executionContext="elevated" taskType="simple" />
</Startup>
Run Code Online (Sandbox Code Playgroud)
更新:
Visual C++ 2012已经完成并且相同的脚本可以运行,但是每个人都应该确保Azure运行至少Windows Server 2008 R2,否则启动任务将挂起并且角色将永远不会启动(直到你杀死vcredist进程)任务经理通过RDP).