c# - Azure Function 在 bin 文件夹中创建文件夹?

标签 c# azure azure-functions

我有一个 azure 函数(v3):

    [FunctionName("Function1")]
    public static async Task<IActionResult> Run([HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)] HttpRequest req, ExecutionContext context)
    {
        if (File.Exists(Path.Combine(context.FunctionAppDirectory, "bin", "MyFolder", "TextFile1.txt")))
            return new OkObjectResult("File does exists!");
        else
            return new OkObjectResult("File does NOT exists!");
    }

我的 .csproj 里面有:

<None Update="MyFolder\TextFile1.txt">
  <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>

还有这个:

<Target Name="CopyFiles" AfterTargets="AfterBuild">

<ItemGroup>
  <MySourceFiles Include="$(OutDir)\MyFolder\TextFile1.txt" />
</ItemGroup>

<Copy SourceFiles="@(MySourceFiles)" DestinationFolder="$(OutDir)\bin\MyFolder\" SkipUnchangedFiles="true" />
</Target>

我要..MyFolder/TextFile1.txt复制到..bin/MyFolder/TextFile1.txt

在本地运行它工作正常 File does exists! 但将其发布到 Azure 我得到 File does NOT exists!

查看 .scm.azurewebsites.net/DebugConsole我可以看到文件夹并不像我希望的那样

C:\home\site\wwwroot\MyFolder>
C:\home\site\wwwroot\bin>

我确实尝试添加 <_FunctionsSkipCleanOutput>true</_FunctionsSkipCleanOutput>但这没有帮助。

我怎样才能让这个例子工作?

(编辑) 为什么我尝试这样做: 我有一个第三方 DLL,它期望文件夹结构与 DLL 位于同一文件夹中。这通常在 .NET 项目中向前延伸。 使用 Azure 函数,此文件夹结构现在不会放置在与 DLL 相同的文件夹中。

最佳答案

您必须将文件设置为始终复制:

<None Update="MyFolder\TextFile1.txt">
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>

在 VS 中,单击文件 > 属性 > 更改复制到输出目录 > 始终复制


编辑:

在这种情况下,您必须使用管道复制文件任务将文件从wwwroot文件夹复制到wwwroot/bin

关于c# - Azure Function 在 bin 文件夹中创建文件夹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66317440/

相关文章:

c# - 将控制台应用程序转换为Azure触发器的最佳方法是什么

c# - FormView.FindControl() : object reference error

c# - 如何在 MigraDoc 库中设置文档方向(针对所有页面)?

C# MySQL 事务提交

Azure Functions - 使用 VSTS 发布管道进行最小起订量单元测试和持续部署的本地开发

Azure Front Door 后端详细介绍了现有 Front Door 问题的补充

azure - 在 Azure Devops 上自动导出构建/发布日志

c# - Azure TimerTrigger 无法在 .NET 7 独立工作进程中工作

node.js - Azure 功能和存储中的意外成本

c# - 哪个更适合投票功能