在azure函数发布过程中包括使用dllimport消耗的c / c ++非托管代码dll

时间:2018-12-06 02:05:06

标签: azure deployment azure-functions dllimport

在azure函数发布过程中,如何将使用v2 .net核心兼容的DllImportAttribute语句使用的c / c ++非托管代码dll中包含一个?

我已经确认它可以通过azure Storage Explorer手动复制到功能应用程序存储帐户中,从而在云部署中正常工作|文件共享| | site / wwwroot / bin文件夹。

问题现在我还无法找到将其包含在vs17中的方法| |发布过程。

在执行vs17之前,尝试将dll放在\ bin \ $(Configuration)\ netcoreapp2.1 \ bin文件夹中| |发布,但不会导致它被拾取。

1 个答案:

答案 0 :(得分:2)

在VS中,右键单击您的Function项目和Edit <FunctionProjectName>.csproj。在下面添加项目以复制我们在本地发布或调试时需要的dll。

  <!-- For publish -->
  <ItemGroup> 
    <None Include=" relative or absolute path to your dll, which is not in your project">
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
    </None>
  </ItemGroup>

  <!-- If you have put dlls under your project root -->
  <ItemGroup>
    <None Update="YourDllName.dll">
        <CopyToOutputDirectory>Always</CopyToOutputDirectory>
    </None>
  </ItemGroup>

  <!-- For local debug -->
  <Target Name="CopyToBin" BeforeTargets="Build">
    <Copy SourceFiles="relative or absolute path to your dll" DestinationFolder="$(OutputPath)\bin" />
  </Target>