从Azure部署中排除Azure函数中的文件

从Azure部署中排除Azure函数中的文件,azure,azure-functions,azure-deployment,Azure,Azure Functions,Azure Deployment,我们有一个Azure函数项目,它包含一个特定命名的文件,使本地调试更加容易。但是,我们不希望该文件被部署到Azure 标准的包和发布过程明确地知道名为local.settings.json的文件,因此永远不会部署该文件 一些在线文档和帖子说,您可以在项目中包含一个名为.funcignore的文件,该文件的语法与.gitinore相同。在那里,您应该能够指定您不希望打包的文件 我们拥有的文件名为local.funcdebuging.json,文件属性为 构建操作:无 复制到输出目录:如果较新,则

我们有一个Azure函数项目,它包含一个特定命名的文件,使本地调试更加容易。但是,我们不希望该文件被部署到Azure

标准的包和发布过程明确地知道名为
local.settings.json的文件,因此永远不会部署该文件

一些在线文档和帖子说,您可以在项目中包含一个名为
.funcignore
的文件,该文件的语法与
.gitinore
相同。在那里,您应该能够指定您不希望打包的文件

我们拥有的文件名为
local.funcdebuging.json
,文件属性为

  • 构建操作:无
  • 复制到输出目录:如果较新,则复制
我们的.funcignore文件如下所示

## Files that should be ignored from Azure Deployment

# EasyAuth Debugging file
local.funcdebugging.json

尽管有这些设置,调试文件仍然会得到部署。如何防止此文件成为Azure部署的一部分?

我们无法使.funcignore正常工作

我们的替代解决方案是

  • 从repo中删除“local.funcdebuging.json”
  • 添加一个标记调试自述文件,解释如何使用名为
    并包含一些示例内容
  • 在.gitignore中添加一个“local.funcdebuging.json”条目,以备将来使用 调试尝试没有得到整理,它最终被添加到repo中,因此被部署

  • 似乎您正试图发布一个
    .csproj
    。可以使用自定义复制到发布目录的内容。这是由
    dotnetpublish
    命令创建的目录

    例如,在我们的例子中,我们不想发布Typescript源代码,只想发布生成的javascript代码。我们使用以下配置:

    
    

    这样,源文件将被复制到输出目录,因此在调试过程中它们是可用的,但它们不会复制到发布目录,因此它不会包含在部署的包中。

    您在哪里看到该文件?在bin文件夹中?在本地调试时,它位于“\\bin\\Debug\\netcoreapp2.1\\”中,但在部署到Azure时,它位于“wwwroot”中。如果它位于gitignore中,并且仍在部署中,我想这意味着该文件已在源代码中。gitignore?我没有把它包括在gitignore中,因为我不想把它从我的git回购中排除。这是我希望从中排除的Azure部署