È incredibile come sia i progetti Windows Forms VB .NET per .NET e .NET Framework abbiano il designer delle impostazioni rotto.
Credo di aver trovato una soluzione, che oltre a non presentare più questo fastidioso errore, permette anche di cambiare l'oggetto di avvio.
- Ho creato un nuovo progetto Windows Forms (.NET Framework) VB .NET.
- Ho rinominato Form1 in AppForm.
- Ho cambiato la proprietà name da Form1 a AppForm.
- Ho aperto con Visual Studio Code il progetto.
- Ho aperto il file "Application.myapp" (Si trova nella cartella "My Project"). Effettuate la modifica riportata qui sotto:
<?xml version="1.0" encoding="utf-8"?>
<MyApplicationData xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<MySubMain>true</MySubMain>
<MainForm>AppForm</MainForm>
<SingleInstance>false</SingleInstance>
<ShutdownMode>0</ShutdownMode>
<EnableVisualStyles>true</EnableVisualStyles>
<AuthenticationMode>0</AuthenticationMode>
<MinimumSplashScreenDisplayTime>0</MinimumSplashScreenDisplayTime>
<SaveMySettingsOnExit>true</SaveMySettingsOnExit>
<HighDpiMode>false</HighDpiMode>
</MyApplicationData>
- Ho aperto il file "Application.Designer.vb" (Si trova nella cartella "My Project"). Effettuate la modifica riportata qui sotto:
Protected Overrides Sub OnCreateMainForm()
Me.MainForm = Global.WindowsApp1.AppForm
End Sub
- Se non esiste il file "My Project\Application.Designer.vb" createlo.
'------------------------------------------------------------------------------
' <auto-generated>
' This code was generated by a tool.
' Runtime Version:4.0.30319.42000
'
' Changes to this file may cause incorrect behavior and will be lost if
' the code is regenerated.
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict On
Option Explicit On
Namespace My
'NOTE: This file is auto-generated; do not modify it directly. To make changes,
' or if you encounter build errors in this file, go to the Project Designer
' (go to Project Properties or double-click the My Project node in
' Solution Explorer), and make changes on the Application tab.
'
Partial Friend Class MyApplication
<Global.System.Diagnostics.DebuggerStepThroughAttribute()> _
Public Sub New()
MyBase.New(Global.Microsoft.VisualBasic.ApplicationServices.AuthenticationMode.Windows)
Me.IsSingleInstance = false
Me.EnableVisualStyles = true
Me.SaveMySettingsOnExit = true
Me.ShutDownStyle = Global.Microsoft.VisualBasic.ApplicationServices.ShutdownMode.AfterMainFormCloses
End Sub
<Global.System.Diagnostics.DebuggerStepThroughAttribute()> _
Protected Overrides Sub OnCreateMainForm()
Me.MainForm = Global.WindowsApp1.AppForm
End Sub
End Class
End Namespace
Ho aperto il file di progetto e ho aggiunto:
<Compile Include="My Project\Application.Designer.vb">
<AutoGen>True</AutoGen>
<DependentUpon>Application.myapp</DependentUpon>
</Compile>
Ora dovrebbe funzionare tutto senza problemi!
Da quello che ho capito il Designer di progetto non genera correttamente "Application.Designer.vb". Ogni volta che si effettuano delle modifiche alla configurazione del progetto il file al posto di essere modificato viene eliminato. Oltre questo Visual Studio non lo ricrea e lo rimuove dai file del progetto. Il file deve quindi essere modificato manualmente.Purtroppo questa soluzione disabilita totalmente la modifica "Application.myapp" all'interno del Designer di progetto! Speriamo arrivi un fix anche se la vedo dura considerando che si tratta di componenti legacy
Microsoft Visual Studio Community 2022
Versione 17.13.6
VisualStudio.17.Release/17.13.6+35931.197
Microsoft .NET Framework
Versione 4.8.09032
Edizione installata: Community