【问题标题】:How to publish a folder to Azure App Service?如何将文件夹发布到 Azure 应用服务?
【发布时间】:2019-01-08 23:48:39
【问题描述】:

我有一个 .Net Core 项目。作为我的数据库上下文类的一部分,我有一些种子数据要插入到数据库中。此种子数据从根目录中的 seed.json 文件反序列化,并在其中保存图像的路径。这些图像位于项目的一个文件夹中。在插入数据之前,我获取这些图像,将它们上传到 Azure 云存储,并更改指向那里的路径。这在本地效果很好。

所以现在我将我的应用程序发布到 Azure 应用程序服务并出现 FileNotFound 异常。 它再也找不到项目中的图像。查看 Azure 的 Kudu 仪表板上的文件系统,我看不到我的项目文件夹,而是一堆 .dll 和 .pdb 文件。我只能推测 Azure 可能会将文件夹捆绑到 .dll 中?

我仍然可以正常访问 wwwroot/images,但出于安全考虑,我不想这样做。

如何将我的文件夹发布到他们的文件系统或访问我在他们的文件系统上的文件?

【问题讨论】:

    标签: asp.net azure azure-web-app-service


    【解决方案1】:

    您可能需要在 Program.cs 中设置您的项目工作目录。然后,您可以访问相对于 .dll 目录的您的文件

    var currentDir = Directory.GetCurrentDirectory();
    config.SetBasePath(currentDir)
    

    并且可能需要跨seed.json和images文件夹复制到项目的输出:

    `<Content Include="seed.json">
        <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
    </Content>
    <Content Include="images/**/*">
        <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
    </Content>
    

    `

    希望对你有帮助 戴夫

    【讨论】:

    • 嘿,戴夫,谢谢。这是我缺少的输出目录设置的副本。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-06
    • 2020-05-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-24
    相关资源
    最近更新 更多