Опубликованное приложение .Net Core предупреждает об установке .Net Core, но оно уже установлено

Я сделал приложение WPF и Console, чтобы кто-то мог использовать его на своем частном сервере, к которому у меня нет доступа. Я использовал встроенный в Visual Studio 2019 «Мастер публикации» для создания однофайловых приложений, зависящих от платформы. Когда человек открыл приложение WPF, его встретило стандартное предупреждение:

«Окно

Они ответили «да» и, насколько я понимаю, установили .Net Core 3.1, на которую нацелены приложения.

После перезапуска компьютера они снова получили то же самое предупреждение. Я не был уверен, что происходит, поэтому я переупаковал приложения как автономные, поскольку установленная версия .Net Core была такой же, как и мои приложения.

Казалось, это немного сработало. Мы столкнулись с некоторыми не связанными с этим проблемами, которые мне пришлось исправить в коде на моей стороне, а затем я повторно опубликовал проекты и разослал их.

Они попытались использовать приложение WPF и снова получили предупреждение об установке.

Теперь независимо от того, какую комбинацию опций я выберу в «Мастере публикации», они продолжают получать предупреждение.

Я не знаю, что мне делать.

Вот изображение моих настроек публикации

«Изображение


person Christopher Johnson    schedule 17.12.2019    source источник
comment
Вы пробовали это на других компьютерах? Любые виртуальные машины? Потому что, если это происходит только на одном компьютере, вероятно, что-то серьезно не так с этим компьютером. Возможно, потребуется переустановка Windows.   -  person Christopher    schedule 17.12.2019
comment
К сожалению, нет, я могу попросить человека попробовать это, но это не в моих руках.   -  person Christopher Johnson    schedule 17.12.2019
comment
У этого парня есть сервер, но он, очевидно, не смог сделать вам надлежащий снимок экрана. Это изображение с камеры телефона - и оно также настолько увеличено, что мы не можем быть уверены, написано ли что-нибудь еще в этом окне сообщения. Так что я действительно подозреваю, что проблема на его стороне.   -  person Christopher    schedule 17.12.2019
comment
Простое нажатие кнопки PrtScn (Print Screen) сделает снимок экрана рабочего стола. Нажатие Ctrl+C в диалоговом окне скопирует заголовок, полный текст и текст кнопки. Прямо сейчас мы даже не можем догадаться, что это за сообщение об ошибке - возможно, заголовок требует другой версии времени выполнения?   -  person Panagiotis Kanavos    schedule 17.12.2019
comment
Они также должны запустить dotnet --version и отправить результат.   -  person Panagiotis Kanavos    schedule 17.12.2019
comment
Это так странно. Заголовок - это просто название приложения, они попробовали его на своем сервере и ноутбуке, и снова появилось то же предупреждение, они запустили dotnet --version, и сервер работает 3.1.100, а ноутбук работает 3.0.100. А пока я собираюсь извлечь логику в решение .Net Framwork вместо того, чтобы запустить его.   -  person Christopher Johnson    schedule 17.12.2019


Ответы (2)


В моем случае у меня была такая же проблема, и проблема заключалась в том, что я не развертывал файл «MY_PROGRAM_NAME.runtimeconfig.json». После копирования этого файла, который присутствует в выводе сборки, приложение запускается без проблем.

person Ernesto    schedule 20.03.2020
comment
Я согласен, что это одна из вещей, которые вам нужно сделать, но даже если я это сделаю, это не всегда помогает мне. - person RudolfJan; 03.06.2020
comment
Собственно моя проблема, спасибо. Ты знаешь почему? Икс - person TinyRacoon; 11.02.2021

Оказывается, проблема заключалась в том, что приложения были нацелены на win-x86, а у пользователя был доступ только к 64-битной среде выполнения .Net Core.

По какой-то причине я подумал, что он сможет работать с 32-битной версией, даже если она будет работать с 64-битной средой выполнения.

Думаю, живи и учись.

person Christopher Johnson    schedule 17.12.2019
comment
Вы пытались установить 32-разрядную среду выполнения .Net Core? Я пробовал это, но это совсем не помогло ... - person RudolfJan; 03.06.2020
comment
@RudolfJan Я собираюсь предположить, что я только что нацелился на 64-битную сборку, это произошло давно. - person Christopher Johnson; 04.06.2020
comment
Спасибо за ваш ответ. Это все еще сбивает с толку, но я думаю, что теперь у меня есть рабочее решение, я не очень понимаю, что происходит ... Есть опция публикации, которая позволяет установить профиль публикации. Он создает длинный список DLL, которые нужно включить, не понимая, почему это необходимо, и предоставляет ряд вариантов для развертывания. Я могу записать то, что я понимаю, а затем проверить, правильно ли я понимаю. - person RudolfJan; 04.06.2020
comment
@ Но разве NetCore был включен в ваш опубликованный файл Self Content? - person dellos; 31.03.2021
comment
Деллос, это случилось в 2019 году, я ничего не помню об этом проекте. - person Christopher Johnson; 01.04.2021