Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.NET Core:Docker还原/生成未能包含项目中的第三方程序集_C#_Docker_Asp.net Core - Fatal编程技术网

C# ASP.NET Core:Docker还原/生成未能包含项目中的第三方程序集

C# ASP.NET Core:Docker还原/生成未能包含项目中的第三方程序集,c#,docker,asp.net-core,C#,Docker,Asp.net Core,大家好, 我正在尝试将我的ASP.NET核心应用程序容器化。在我以前的项目中,这个示例docker文件工作得非常好 FROM microsoft/dotnet:sdk AS build-env COPY . /app WORKDIR /app/MyApp RUN dotnet build RUN dotnet publish -c Release -o out FROM microsoft/dotnet:2.2-aspnetcore-runtime EXPOSE 80 WORKDIR /

大家好,

我正在尝试将我的ASP.NET核心应用程序容器化。在我以前的项目中,这个示例docker文件工作得非常好

FROM microsoft/dotnet:sdk AS build-env

COPY . /app

WORKDIR /app/MyApp
RUN dotnet build

RUN dotnet publish -c Release -o out

FROM microsoft/dotnet:2.2-aspnetcore-runtime
EXPOSE 80
WORKDIR /app
COPY --from=build-env /app/MyApp/out .
ENTRYPOINT [ "dotnet","MyApp.dll" ]
但问题是,我有一个使用第三方程序集或dll(由红色标记覆盖)的项目应用程序

在我的本地项目解决方案中,它可以正常编译和运行。但是当我试图构建我的项目映像时,使用该程序集的C#文件返回一个错误,它说,
类型或命名空间名称“the#u assembly”找不到。
当docker步骤处于
运行dotnet build
运行dotnet restore
运行dotnet publish…


需要帮忙吗

检查您的csproj文件是否将该dll引用作为解决方案中的某个实际位置。也许你在其他地方有它,所以这个文件不包括在docker副本中。

这个引用是否在公共nuget存储库中?如果没有,它是否在私有存储库中?如果是,在<代码> dotnet还原< /Cord>中有一个选项指定框架将考虑的包源。如果将DLL引用作为解决方案中的某个位置,请检查CSPRJ文件。也许你在其他地方有它,所以这个文件不包括在docker副本中。@RogersonNazário我已经尝试了
dotnet还原
请检查上面的问题。该dll不在nuget中。只是一个支持第三方设备的软件包。@AppleCiderYummy但它指向真实的位置吗?也许您在D:/projects/project1/something.csproj中有项目。但是你的图书馆在D:/libaries/什么的。那么docker无法复制您的dll。@Raik请将您的评论放在回答部分。我将把它标为答案。感谢您提供的提示,经过几天的尝试,我移动了使用该dll的特定类库上的dll文件夹。现在它可以在我的CI docker build上工作:)这很烦人,因为当dll与它的类库相隔一个文件夹时,它可以在本地编译和运行时工作