在 Azure 函数发布过程中包含 c/c++ 非托管代码 dll,使用 dllimport 使用

include c/c++ unmanaged code dll, consumed using dllimport, in azure functions publish process

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

我已经通过 azure 存储资源管理器手动复制到功能应用程序存储帐户,确认它在云部署中工作 |文件共享 | | site/wwwroot/bin 个文件夹。

问题是现在我还没有找到将它包含在 vs17 中的方法 | |发布过程。

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

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