我完全按照本指南部署 .NET Google Cloud Platform 函数:使用 .NET 创建和部署 HTTP 云函数
我进入执行此命令的阶段:
gcloud functions deploy csharp-http-function --gen2 --entry-point=HelloWorld.Function --runtime=dotnet6 --region=us-central1 --source=. --trigger-http --allow-unauthenticated
我收到此错误:
ERROR: gcloud crashed (PermissionError): [Errno 13] Permission denied: '.\\.vs\\helloworld\\FileContentIndex\\030dc1d0-8d66-48c0-a87a-6905f4a624ae.vsidx'
我看到的针对此问题的大多数解决方案是,当尝试访问目录而不是文件时会发生此错误,但这很明显是命令末尾带有 .vsidx 扩展名的文件
我不知道为什么会发生这种情况,这真的让我很困惑。
我有一个 helloworld 目录,里面有 HelloWorld.csproj 和 Function.cs 文件,没有其他文件。我已在 PowerShell 窗口中执行 Google Cloud Platform 授权命令并连接我的帐户并链接到相应的项目。
我最近发现了这一点,从一个完全独立的命令行窗口部署,但打开了 VS - 尽管过去没有发生过。 (我不知道这是VS的改变还是gcloud的改变。)
.gcloudignore
文件 - 我的文件通常如下所示:
.gcloudignore
.git
.gitignore
.vs
bin
obj
嗯,我觉得很傻。发生这种情况是因为我尝试从 Visual Studio PowerShell 窗口中运行部署命令,这意味着文件已打开并锁定,使其无法访问。