Я создал базовое приложение API ASP.Net Core, которое я хочу запускать в debian через Apache. Я не изменил ничего из приложения по умолчанию (которое генерируется при создании нового проекта), за исключением .csproj:
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp2.0</TargetFramework>
<RuntimeIdentifier>debian-x64</RuntimeIdentifier> <!-- NEW LINE -->
</PropertyGroup>
<ItemGroup>
<Folder Include="wwwroot\" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.All" Version="2.0.6" />
</ItemGroup>
<ItemGroup>
<DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="2.0.3" />
</ItemGroup>
</Project>
Я опубликовал его в папке (он создал две папки: netcoreapp2.0
и PublishOutput
) и передал его в debian. Там я запустил sudo apt-get install dotnet-runtime-2.0.6
и попытался запустить ./MyAppName
в обоих каталогах (PublishOutput
и netcoreapp2.0/debian-x64
).
PublishOutput
вернул эту ошибку:
Unhandled Exception: System.IO.FileLoadException: Could not load file or assembly 'System.Runtime.Extensions, Version=4.2.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
at Microsoft.AspNetCore.Hosting.WebHostBuilder..ctor()
at Microsoft.AspNetCore.WebHost.CreateDefaultBuilder(String[] args)
at MyAppName.Program.BuildWebHost(String[] args)
at MyAppName.Program.Main(String[] args)
Aborted
netcoreapp2.0/debian-x64
вернул эту ошибку:
Error:
An assembly specified in the application dependencies manifest (SrovnavacPojistoven.deps.json) was not found:
package: 'Microsoft.ApplicationInsights.AspNetCore', version: '2.1.1'
path: 'lib/netstandard1.6/Microsoft.ApplicationInsights.AspNetCore.dll'
Я был бы очень счастлив, если бы кто-нибудь мог мне помочь. Я не мог найти ничего, что сработало. Я пытался опубликовать базовое консольное приложение .net, которое работало без проблем, у меня проблема только с ASP.