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, веб-просмотр не будет работать. Можете ли вы помочь мне с тем, что нужно сделать?
Распространенной причиной является то, что WebView2Loader.dll
не включен.
Иногда его нужно включать вручную.
См. Распространите свое приложение и среду выполнения WebView2 — файлы для отправки с приложением
Также см. эти обсуждения вопроса...
Приложение C#, развернутое с помощью WebView2, не может найти среду выполнения
WebView2Loader.dll не учитывается при публикации
WebView2Loader.dll отсутствует в папке установщика
WebView2 работает в режиме отладки, но не при публикации с помощью ClickOnce
Ошибка при попытке создать папку данных пользователя (UDF)? Говорят, что в большинстве случаев вы должны указать собственное местоположение UDF.
UDF, о котором вы упомянули, относится к C:\USER
Если вы не укажете пользовательское местоположение, по умолчанию будет использоваться папка Program Files, чего вы не хотите. Рекомендуемым местом является папка данных приложения пользователя, которую вы можете получить программно с помощью Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)
см. здесь
Благодарю за ваш ответ. Приведенное выше объяснение кажется мне немного сложным, поэтому я установил папку установки по умолчанию в папку c:\myapp и установил ее, и программа работает. Есть ли разница между выполнением того, что вы описали, и тем, как это делаю я?
По-вашему, местоположение UDF всегда будет c:\myapp. Вам просто нужно учитывать, что если разные пользователи будут входить в систему и использовать ваше приложение на одном компьютере, тогда они могут видеть данные другого пользователя. Если вы создадите файл, используя код из моего предыдущего комментария, то каждый пользователь получит свой собственный UDF, созданный в его собственных папках, например. C:\Users\davmos\AppData\Roaming
большое спасибо. Я многому научился у вас.
Благодарю за ваш ответ. Я многому научился у вас. Проблема решена, но возникла новая проблема. Кажется, что WebView2 не может работать, потому что у него нет разрешения на создание новой папки в папке с программными файлами. Однако у меня нет возможности решить эту проблему. Есть ли более простой способ решить эту проблему?