我发现this说azure web / worker角色可以加载原生c ++ dll。 azure网站也支持这个吗?
我的站点是一个mvc站点,它调用本地c ++ dll,它从本地驱动器读取文件并进行一些计算。我更喜欢azure网站的原因是因为它从免费开始。
谢谢。
Azure网站还可以加载本机dll。我让它成功了。
以下是步骤(来自here):
注意:在步骤2中,您应该右键单击该项目,以便将dll复制到bin文件夹,并上载到Azure服务器。如果你将它放在某个文件夹中而不是直接放在项目下,那么dll将被复制到/ bin / somefolder,它仍然是不可见的。
希望这可以帮助。
您可以加载本机DLL,但有一些要求。首先,它必须是x64,而不是x86。
此外,您必须针对正确的工具集构建它:
默认情况下,Windows Azure工作者和Web角色上仅安装Visual C ++ 2008的Visual C ++运行时库。因此,针对Visual C ++ 2010或Visual C ++ 2005的Visual C ++运行时库编译的本机代码将无法加载到工作线程和Web角色实例中。如果您在同一台计算机上安装了Visual Studio 2008和Visual Studio 2010,则可以使用Visual Studio 2010的本机多目标功能,使用Visual Studio 2008平台工具集(编译器,链接器,标头,和图书馆)。有关使用Visual Studio 2010使用Visual Studio 2008平台工具集构建应用程序的详细信息,请参阅C ++ Native Multi-Targeting(http://go.microsoft.com/fwlink/p/?LinkId=231170)。
或者,您可以设置一个运行提升的启动任务,该任务将您的本机DLL的要求复制到服务器上。