Msi с C#-webview2 не работает с webview

using System;
using System.Windows.Forms;


namespace Test
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
             Load += Form1_Load;
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            this.webView21.Source = new Uri("https://www.google.com");
        }
    }
}

Я студент, только начинаю изучать C#. Если вы просто напишете код, как указано выше, и опубликуете его с помощью (Clickonce) publish, веб-просмотр будет работать нормально. Однако, если вы сделаете это как файл msi, веб-просмотр не будет работать. Можете ли вы помочь мне с тем, что нужно сделать?

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
0
92
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Распространенной причиной является то, что WebView2Loader.dll не включен.

Иногда его нужно включать вручную.

См. Распространите свое приложение и среду выполнения WebView2 — файлы для отправки с приложением

Также см. эти обсуждения вопроса...

Приложение C#, развернутое с помощью WebView2, не может найти среду выполнения

WebView2Loader.dll не учитывается при публикации

WebView2Loader.dll отсутствует в папке установщика

WebView2 работает в режиме отладки, но не при публикации с помощью ClickOnce

Благодарю за ваш ответ. Я многому научился у вас. Проблема решена, но возникла новая проблема. Кажется, что WebView2 не может работать, потому что у него нет разрешения на создание новой папки в папке с программными файлами. Однако у меня нет возможности решить эту проблему. Есть ли более простой способ решить эту проблему?

sophista 05.04.2023 07:19

Ошибка при попытке создать папку данных пользователя (UDF)? Говорят, что в большинстве случаев вы должны указать собственное местоположение UDF.

davmos 05.04.2023 11:00

UDF, о котором вы упомянули, относится к C:\USER

sophista 05.04.2023 18:07

Если вы не укажете пользовательское местоположение, по умолчанию будет использоваться папка Program Files, чего вы не хотите. Рекомендуемым местом является папка данных приложения пользователя, которую вы можете получить программно с помощью Environment.GetFolderPath(Environment.SpecialFolder.Applicat‌​ionData) см. здесь

davmos 05.04.2023 18:25

Благодарю за ваш ответ. Приведенное выше объяснение кажется мне немного сложным, поэтому я установил папку установки по умолчанию в папку c:\myapp и установил ее, и программа работает. Есть ли разница между выполнением того, что вы описали, и тем, как это делаю я?

sophista 07.04.2023 15:05

По-вашему, местоположение UDF всегда будет c:\myapp. Вам просто нужно учитывать, что если разные пользователи будут входить в систему и использовать ваше приложение на одном компьютере, тогда они могут видеть данные другого пользователя. Если вы создадите файл, используя код из моего предыдущего комментария, то каждый пользователь получит свой собственный UDF, созданный в его собственных папках, например. C:\Users\davmos\AppData\Roaming

davmos 07.04.2023 22:03

большое спасибо. Я многому научился у вас.

sophista 14.04.2023 02:33

Другие вопросы по теме

Не удалось загрузить ресурс: сервер ответил со статусом 404 () развернутый сайт реакции, сделанный с помощью vite на netlify и получающий эту ошибку
Ошибка развертывания приложения Streamlit «Не удалось найти версию, удовлетворяющую требованию StringIO»
Развертывание React IIS — пустая страница и ошибки 404 в «main...» и «manifest.json». Как это исправить?
Как исправить ошибку во время запуска рабочего процесса GitHub Action при развертывании веб-сайта
Разверните существующий проект Python FastAPI в функциях Azure
Ошибка при развертывании образа в модуле kubernetes: «http: сервер дал HTTP-ответ HTTPS-клиенту»
Ошибка при попытке создать развертывание с помощью YAML: развертывание в версии «v1» не может обрабатываться как развертывание
Не удалось найти этот тип процесса (веб) при развертывании весеннего загрузочного приложения
Проблема с развертыванием приложения с полным стеком на героку
AWS CDK Java — загрузка файлов в S3