docker 容器化引用C++/CLI库的C# ASP.NET应用程序

lmvvr0a8  于 11个月前  发布在  Docker
关注(0)|答案(1)|浏览(129)

我是容器化的新手。我有一个原生C库,需要部署到Azure应用服务。由于Azure应用服务不支持原生C,我想到用C++/CLI Package 器项目 Package 原生C++项目,并从可以部署到Azure的主C# ASP.NET项目调用该 Package 器项目。在本地运行时,它工作正常,但我无法将其发布到Azure应用服务。因此,有人可以帮助我编写一个Dockerfile来构建一个Windows Docker映像,我可以将其部署到Azure,因为我可以将Docker容器部署到Azure。
到目前为止,我得到的是:

FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build
WORKDIR /source
COPY . .

RUN dotnet restore “NativeCPPWrapper.sln”
RUN dotnet build “NativeCPPWrapper.sln” -c Release -o /app/build
RUN dotnet publish “NativeCPPWrapper.sln” -c Release -o /app/build

FROM mcr.microsoft.com/dotnet/aspnet:6.0
WORKDIR /app
COPY - -from=build /app ./
EXPOSE 80
EXPOSE 443
ENTRYPOINT [“dotnet”, “NativeCPPWrapper.dll”]

字符串
任何帮助都将不胜感激。谢谢。

svmlkihl

svmlkihl1#

.NET SDK映像没有构建C++/CLI映像所需的工具。您需要使用.NET和C++组件安装Visual Studio Build工具,从而创建自己的构建映像。有Installing Build Tools into a container指南,但从Dockerfile used for the .NET SDK framework image开始可能更容易。请注意,这两个示例都没有包含您需要的所有组件,很难说你不知道你的项目的细节,但我怀疑你会想要上面链接的框架SDK Dockerflie中的组件以及工作负载Microsoft.VisualStudio.Workload.VCTools和组件Microsoft.VisualStudio.Component.VC.CLI.Support

相关问题