如何将第三方 DLL 添加到 DockerFile?C#

位图先生

我有一个多层项目和一个第三方 DLL 文件,我想对它们进行 dockerize。我在我的 webApi 项目中添加了一个 dockerfile 并尝试构建它,但发生了这个错误:

3>第 7/22 步:复制 ["D:/MultiLayeredProject/output/MultiLayeredProject/PluginProject.dll", "MultiLayeredProject/"] 3>复制失败:stat /var/lib/docker/tmp/docker-builder959745697/D: /MultiLayeredProject/output/MultiLayeredProject/PluginProject.dll:没有这样的文件或目录 3>C:\Users~~\source\repos\MultiLayeredProject\MultiLayeredProject\Dockerfile:错误 CTC1014:Docker 命令失败,退出代码为 1。3>C: \Users~~\source\repos\MultiLayeredProject\MultiLayeredProject\Dockerfile : error CTC1014: COPY failed: stat /var/lib/docker/tmp/docker-builder959745697/D:/MultiLayeredProject/output/MultiLayeredProject/PluginProject.dll: no such文件或目录

如何将外部 DLL 添加到 dockerfile?我的 dockerfile 如下所示:

FROM mcr.microsoft.com/dotnet/aspnet:5.0 AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443

FROM mcr.microsoft.com/dotnet/sdk:5.0 AS build
WORKDIR /src
COPY ["D:/MultiLayeredProject/output/MultiLayeredProject/PluginProject.dll", "MultiLayeredProject/"]
COPY ["MultiLayeredProject/MultiLayeredProject.csproj", "MultiLayeredProject/"]
COPY ["AppService/AppService.csproj", "AppService/"]
COPY ["Core/Core.csproj", "Core/"]
RUN dotnet restore "MultiLayeredProject/MultiLayeredProject.csproj"`
COPY . .
WORKDIR "/src/MultiLayeredProject"
RUN dotnet build "MultiLayeredProject.csproj" -c Release -o /app/build

FROM build AS publish
RUN dotnet publish "MultiLayeredProject.csproj" -c Release -o /app/publish
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "MultiLayeredProject.dll"]
爆炸小猫

据我了解,您的第三方 dll 是项目文件夹的一部分。因此,不要使用文件的绝对路径,而是尝试使用相对路径,例如:

COPY ["output/MultiLayeredProject/PluginProject.dll", "MultiLayeredProject/"]

当您调用 时docker build,docker cli 将您的项目结构(上下文)发送到 docker daemon(在 Linux 操作系统内部)并且没有D:/...路径。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将第三方.NET dll添加到Xamarin Forms

如何将字段添加到第三方应用程序模型?

如何将第三方依赖项javascript添加到Shopware 6

如何将第三方JavaScript库添加到Meteor应用程序?

如何将第三方js文件添加到Webpack捆绑包中?

第三方dll中的怪异NullReferenceException:C#

将 dll 添加到 c# 项目并使用 dll 函数

如何使用正确的dll文件在Cython C扩展中启用第三方C库?

Outlook Add In +在何处添加vsto,dll以安装在第三方系统上

如何将iPhone应用程序常量(.h类)和第三方框架添加到手表套件扩展中?

如何将第三方iOS Pod库添加到Kotlin本机项目中?出现错误“ SharedCode:cinteropAFNetworkingIos失败”

C ++:即使缺少第三方DLL,也允许程序运行吗?

如何从Haxe使用第三方dll

将第三方js库添加到Create React App

WPF将第三方ResourceDictionary添加到App.xaml?

将第三方库添加到Sonatype Nexus存储库OSS

以编程方式将项目添加到第三方的用户购物篮

将DLL添加到NetBeans项目

Visual Studio 中添加的第三方 dll:您是否缺少 using 指令或程序集引用

从64位c#WinForms应用程序调用第三方32位dll时的事件处理

如何添加第三方仓库。并输入Debian?

如何向第三方库添加方法

如何将dll配置文件添加到将dll作为引用添加到的项目?

将通用Windows C#类库引用添加到通用Windows C ++ DLL项目Visual Studio 2015

将依赖的托管DLL添加到非托管C ++项目

C ++将十六进制地址添加到DLL地址

Symfony2将第三方捆绑包添加到服务控制器

将第三方Google跟踪代码管理器添加到网站的风险

使用maven将第三方代码添加到带有缺陷的eclipse项目中?