У меня проблема с приложением, разработанным с NetCore 2.2
, когда я развертываю приложение после использования публикации из VS2017 со следующими настройками: - Выпуск - netcoreapp2.2 - Зависит от Framework - win-x64 для IISсервер, когда приложение пытается запустить, оно говорит:
Application startup exception
System.IO.FileNotFoundException: Could not load file or assembly 'Jump.Shared.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. Impossible to find specified file.
File name: 'Jump.Shared.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'
Теперь проблема выглядит как моя структура ссылок .. У меня есть основной проект, который Scan.Web
, который ссылается на Scan.Core
и Scan.Infrastructure
и вот .csproj:
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp2.2</TargetFramework>
</PropertyGroup>
<ItemGroup>
...
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Scan.Core\Scan.Core.csproj" />
<ProjectReference Include="..\Scan.Infrastructure\Scan.Infrastructure.csproj" />
</ItemGroup>
</Project>
Тогда Scan.Infrastructure
ссылается на проблемный Jump.Shared.Infrastructure
, а вот csproj:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp2.2</TargetFramework>
</PropertyGroup>
<ItemGroup>
...
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\JumpShared\Jump.Shared.Infrastructure\Jump.Shared.Infrastructure.csproj" />
<ProjectReference Include="..\Scan.Core\Scan.Core.csproj" />
</ItemGroup>
</Project>
И, наконец, .csprojвиновник:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp2.2</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Extensions.Logging" Version="2.2.0" />
<PackageReference Include="Microsoft.Extensions.Options" Version="2.2.0" />
<PackageReference Include="MongoDB.Driver" Version="2.8.0" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Jump.Shared.Core\Jump.Shared.Core.csproj" />
</ItemGroup>
</Project>
Я не могу понять, почему, когда в Debug от VS2017 все работает нормально, при публикации его на IIS, он не может найти эту ссылку. Сборка дает мнеJump.Shared.Infrastructure.dll