我有一个场景,我们在 .Net core 3.1 类库中使用旧的 .Net Framework dll。.Net Framework dll 在内部使用 System.Windows.Forms.dll,.Net 核心无法解析。
我在运行时收到以下错误消息
无法加载文件或程序集“System.Windows.Forms,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089”。该系统找不到指定的文件。
在理想的世界中,将 System.Windows.Forms.dll 添加到类库是没有意义的,但是有什么方法可以在 .Net 核心类库中添加 System.Windows.Forms 及其依赖项。
注意:我尝试手动添加 System.Windows.Forms.dll,但没有成功。
我正在尝试将 .NET 核心 Web API 部署到 Heroku。
以下是我的Dockerfile:
FROM mcr.microsoft.com/dotnet/core/aspnet:2.1 AS runtime
WORKDIR /app
COPY /out ./
CMD ASPNETCORE_URLS=http://*:$PORT dotnet dotnetcoreapi.dll
Run Code Online (Sandbox Code Playgroud)
这Dockerfile在 Heroku 上运行良好,但是当我尝试部署时
FROM mcr.microsoft.com/dotnet/core/aspnet:2.1 AS runtime
WORKDIR /app
COPY /out ./
ENTRYPOINT ["dotnet","dotnetcoreapi.dll"]
Run Code Online (Sandbox Code Playgroud)
Heroku 给了我这个错误:
无法启动 Kestrel。System.Net.Sockets.SocketException (13): 权限被拒绝
为什么ENTRYPOINT ["dotnet","dotnetcoreapi.dll"]在 Heroku 上不起作用?两个版本在我的本地机器上都可以正常工作