我有一个相对简单的.NET Core控制台应用程序。它没有外部依赖项。我使用以下命令构建它:
dotnet publish -c Release -r win10-x64
它生成一个\bin\Release\netcoreapp2.2\win10-x64
文件夹结构。该文件夹包含一些文件和发布文件夹:
我将整个结构复制到Windows Server 2016。根据dotnet --list-runtimes
命令,服务器安装了以下运行时:Microsoft.AspNetCore.All 2.2.1 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.App 2.2.1 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.NETCore.App 2.2.1 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
然而,当我运行我的 .exe 文件 (netcoreapp2.2\win10-x64\LayoutAutomation.exe
) 时,我遇到了以下错误:
Error:
An assembly specified in the application dependencies manifest (LayoutAutomation.deps.json) was not found:
package: 'runtime.win-x64.Microsoft.NETCore.App', version: '2.2.0'
path: 'runtimes/win-x64/lib/netcoreapp2.2/Microsoft.CSharp.dll'
如果我尝试从publish
文件夹运行exe(该文件夹似乎安装了整个.NET Core),则可以正常运行。
那么我为什么无法从netcoreapp2.2\win10-x64
文件夹运行exe呢? .NET Core已经安装在计算机中 - 它应该可以运行。