【发布时间】:2019-01-09 13:55:27
【问题描述】:
我正在尝试在我的 Debian 9 服务器上托管 ASP.NET Core 应用程序。我之前安装了 .NET Core 1,并且一直在尝试为 .NET 2.1 安装运行时/托管。
我的分发遵循 official installation instructions,但 dotnet --version 命令输出 1.0.1,dotnet --info 输出
当我尝试仅运行已复制到服务器的基本模板应用程序时,它会输出
找不到指定的框架“Microsoft.NETCore.App”,版本“2.1.0”。 - 检查应用程序依赖项并定位安装在以下位置的框架版本: /opt/dotnet/shared/Microsoft.NETCore.App - 安装了以下版本: 1.1.1 1.0.4 - 或者,安装框架版本“2.1.0”。果然,/opt/dotnet/shared/Microsoft.NETCore.App 只包含 1.1.1 和 1.0.4 的子目录,然而……
我必须做什么才能找到运行时?
cmets 中的问题解答:
$ 哪个 dotnet /usr/local/bin/dotnet dpkg -L 的输出很长,但我认为这给了我问题的原因。 2.1 运行时的文件都在/usr/share/dotnet 下,而不是/opt/dotnet。运行dotnet 使用/usr/local/bin 中的一个可以看到旧运行时,但看起来有一个/usr/bin/dotnet 可以查看新版本...我按照Microsoft 的说明进行了两次安装,所以我不知道为什么太不一样了。
【问题讨论】:
-
如何创建要复制到 debian 服务器的模板应用程序工件?例如,您使用的是
dotnet build还是dotnet publish? -
你能运行
which dotnet和dpkg -L aspnetcore-runtime-2.1吗? -
@omajid 我已经在问题的末尾添加了有关此的信息,这导致我解决了这个问题。如果你做出回答,我会接受。
-
@ShaunLuttin 它是在 Windows 中使用 Visual Studio 创建的,使用内置的“发布”对话框,文件夹部署依赖于框架。
-
还有一个请求:你能
echo $PATH吗?
标签: linux asp.net-core .net-core