Bitbucket 管道:找不到类型或命名空间名称

Bitbucket pipelines: The type or namespace name could not be found

我希望有人能帮助我。谢谢!

我正在尝试部署我的 dotnet 核心 2.0 API

当我尝试使用 bitbucket 管道构建项目时,我在查找引用时遇到多个错误。它确实成功地恢复了项目。

但是项目在我的笔记本电脑上成功构建。

文件夹结构:

/API
  /Controllers
  /Migrations
  /Models
  /Services
  API.csproj
  Program.cs
  Startup.cs

bitbucket-pipelines.yml

pipelines:
  default:
    - step:
        image: microsoft/dotnet
        name: Check if it builds
        script:
          - cd API
          - dotnet build

示例错误:

Services/MyService.cs(18,29): error CS0246: The type or namespace name 'IRepository<>' could not be found (are you missing a using directive or an assembly reference?) [/opt/atlassian/pipelines/agent/build/API/API.csproj]

注意 我有最新版本的 dotnet,与我在 bitbucket 管道中使用的一样。我已经通过 运行 dotnet --info

检查过

我终于弄清楚了这个问题的原因。没早点弄明白这件事我觉得真的很傻。

我的 git 存储库以某种方式设置了 ignorecase = true。 我已将其切换为 false(这将防止将来出现此问题)。

这意味着我可以拥有两个相同的文件或文件夹。

我已将文件夹重命名为不同的案例。 我的回购有

API/
  API.csproj

api/
  api.csproj

我的 Mac 不允许两者都使用,所以我在本地计算机上只看到一个文件夹和一个项目。

要解决这个问题,我必须 git rm -r --cached api

这删除了重复的文件夹

我也有项目文件的副本,所以使用 git rm -f api.csproj 从存储库中删除文件。

然后 git pull 将这些更改引入我本地的 master 分支。