У меня консольное приложение .NET Core с целевым netcoreapp2.1.Он вызывает существующую службу WCF с помощью пакета обеспечения совместимости Windows.
Когда я запускаю его через Visual Studio или использую dotnet run
для запуска из командной строки, он отлично работает.
Однако я хочу опубликовать его в файле .exe, чтобы я мог запустить его, дважды щелкнув по нему.
Итак, я запустил публикацию, которая, похоже, удалась, но когда я попытался запуститьВ опубликованном .exe файле происходит сбой со следующим исключением:
System.IO.FileNotFoundException: Could not load file or assembly
'System.Private.ServiceModel, Version=4.1.2.1, Culture=neutral,
PublicKeyToken=b03f5f7f11d50a3a'. The system cannot find the file specified.
Эта ошибка возникает на компьютере, на котором я запустил публикацию, а также при попытке скопировать опубликованную папку на другой компьютер.Я считаю, что System.Private.ServiceModel
- это какая-то глубокая зависимость пакета Microsoft.Windows.Compatibility
, но почему это не работает?Конечно, он должен был быть скопирован в выходную папку автоматически?
Требуется ли дополнительная настройка или настройка, чтобы публикация автоматически получала зависимости?
Если это имеет значение, ссылка в csprojфайл выглядит так:
<ItemGroup>
<PackageReference Include="Microsoft.Windows.Compatibility" Version="2.0.1" />
</ItemGroup>