在我的 .NET 8 Core API 应用程序中,当我运行
dotnet run
时,一切正常。但我使用的是 docker-compose,问题就来了。
当我使用
docker-compose up --build
运行应用程序时,我的 IDE 会停止解析解决方案的所有项目中安装的 NuGet 包。而且,重要的一点:它构建得很好,我从未遇到过构建问题。
假设我导入了 2 个包:
using AutoMapper;
using Microsoft.EntityFrameworkCore;
在使用 docker-compose 构建之前,完全没有问题。 构建后,我会遇到这个问题:
Cannot resolve symbol 'EntityFrameworkCore'
。
所有 NuGet 包依此类推。
我尝试了很多方法来解决这个问题:
但它从未解决问题。当我执行
dotnet resolve
时,它可以工作,但只是暂时的:在新的重建后,错误再次出现。
解决方案
几个小时后我终于找到了解决方案。在 docker-compose.yml 中,将这些行添加到 Web 配置中:
volumes:
- /app/obj/
- /app/bin/
- /app/out/
然后将这些行添加到
.dockerignore
文件中:
bin/
obj/
out/
解决方案
几个小时后我终于找到了解决方案。在 docker-compose.yml 中,将这些行添加到 Web 配置中:
volumes:
- /app/obj/
- /app/bin/
- /app/out/
然后将这些行添加到
.dockerignore
文件中:
bin/
obj/
out/