Почему мое приложение winforms .net 8.0 выдает исключение «System.IO.FileNotFoundException: система не может найти указаC#

Место общения программистов C#
Ответить
Anonymous
 Почему мое приложение winforms .net 8.0 выдает исключение «System.IO.FileNotFoundException: система не может найти указа

Сообщение Anonymous »

Я создал новый проект .net 8.0 winforms в vs2022, он включает в себя последний пакет nuget webview2.
myawesomeprogram.cs

Код: Выделить всё

namespace myawesomenamespace
{
internal static class myawesomeprogram
{
[STAThread]
static void Main()
{
ApplicationConfiguration.Initialize();
Application.Run(new myawesomeform());
}
}
}
myawesomeform.designer.cs

Код: Выделить всё

namespace myawesomenamespace
{
partial class myawesomeform
{
private System.ComponentModel.IContainer components = null;

protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}

private void InitializeComponent()
{
myawesomewebview = new Microsoft.Web.WebView2.WinForms.WebView2();
((System.ComponentModel.ISupportInitialize)myawesomewebview).BeginInit();
SuspendLayout();

myawesomewebview.AllowExternalDrop = true;
myawesomewebview.CreationProperties = null;
myawesomewebview.DefaultBackgroundColor = Color.White;
myawesomewebview.Dock = DockStyle.Fill;
myawesomewebview.Location = new Point(0, 0);
myawesomewebview.Name = "myawesomewebview";
myawesomewebview.Size = new Size(800, 450);
myawesomewebview.TabIndex = 4;
myawesomewebview.ZoomFactor = 1D;

AutoScaleDimensions = new SizeF(7F, 15F);
AutoScaleMode = AutoScaleMode.Font;
ClientSize = new Size(800, 450);
Controls.Add(myawesomewebview);
Name = "myawesomeform";
Text = "myawesomeform";
WindowState = FormWindowState.Maximized;
Load += myawesomeform_Load;
((System.ComponentModel.ISupportInitialize)myawesomewebview).EndInit();
ResumeLayout(false);
}

private Microsoft.Web.WebView2.WinForms.WebView2 myawesomewebview;
}
}
myawesomeform.cs

Код: Выделить всё

using Microsoft.Web.WebView2.Core;

namespace myawesomenamespace
{
public partial class myawesomeform : Form
{
private Random? myawesomerandom;

public myawesomeform()
{
InitializeComponent();
}

private async void myawesomeform_Load(object sender, EventArgs e)
{
CoreWebView2Environment? myawesomeenvironment = await CoreWebView2Environment.CreateAsync();
await myawesomewebview.EnsureCoreWebView2Async(myawesomeenvironment);

myawesomerandom = new Random();
await Task.Delay(myawesomerandom.Next(1000, 2000));
myawesomewebview.Source = new Uri("http://lixxx.co.uk");
await Task.Delay(myawesomerandom.Next(1000, 2000));
myawesomewebview.Source = new Uri("http://lmfgtfy.co.uk");
}
}
}
Он прекрасно работает на моей машине разработки.
Я настроил профиль публикации с конфигурацией выпуска, целевой платформой Windows .net 8.0, целевая среда выполнения win x64, автономный режим развертывания с использованием одного файла и готовность к запуску параметров компиляции.
Опубликованный файл .exe в опубликованном каталоге работает правильно.
Когда я вырезаю и вставляю весь опубликованный каталог на 64-битный сервер AMD с ОС Windows Server 2022 и запускаю .exe, приложение загружается и сразу отображает диалоговое окно необработанной ошибки с текстом исключения «Система». .IO.FileNotFoundException: система не может найти указанный файл. (0x80070002)».
Приложению требовалась запись в текстовый файл, но я удалил его из последних сборок.
На сервере установлен пакет хостинга .net 8.0 и среда выполнения .net 8.0 x64.

Подробнее здесь: https://stackoverflow.com/questions/788 ... eption-the
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»