Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Voici une liste des modifications majeures dans Visual Basic :
- Types dans l’espace de noms Microsoft.VisualBasic.ApplicationServices non disponibles
- Types dans l’espace de noms Microsoft.VisualBasic.Devices non disponibles
- Types non disponibles dans l’espace de noms Microsoft.VisualBasic.MyServices
- Les modèles "About" et "SplashScreen" sont défectueux
.NET Core 3.0
Types dans l’espace de noms Microsoft.VisualBasic.ApplicationServices non disponibles
Les types dans l’espace de noms Microsoft.VisualBasic.ApplicationServices ne sont pas disponibles.
Version introduite
.NET Core 3.0
Description de la modification
Les types dans l'espace de noms Microsoft.VisualBasic.ApplicationServices étaient disponibles dans le .NET Framework. Ils ne sont pas disponibles dans .NET Core 3.0 - 3.1.
Les types ont été supprimés pour éviter les dépendances d’assembly inutiles ou les changements cassants dans les versions suivantes.
Action recommandée
Cet espace de noms a été ajouté dans .NET 5, mettez à niveau votre projet vers .NET 5 ou version ultérieure.
- ou -
Si votre code dépend de l’utilisation de Microsoft.VisualBasic.ApplicationServices types et de leurs membres, vous pouvez utiliser un type ou un membre correspondant dans la bibliothèque de classes .NET. Par exemple, certains membres System.Environment et System.Security.Principal.WindowsIdentity fournissent des fonctionnalités équivalentes aux propriétés de la classe Microsoft.VisualBasic.ApplicationServices.User.
Catégorie
Visual Basic
API affectées
Types dans l’espace de noms Microsoft.VisualBasic.Devices non disponibles
Les types dans l’espace de noms Microsoft.VisualBasic.Devices ne sont pas disponibles.
Version introduite
.NET Core 3.0
Description de la modification
Les types dans l'espace de noms Microsoft.VisualBasic.Devices étaient disponibles dans le .NET Framework. Ils ne sont pas disponibles dans .NET Core 3.0 - 3.1.
Les types ont été supprimés pour éviter les dépendances d’assembly inutiles ou les changements cassants dans les versions suivantes.
Action recommandée
Cet espace de noms a été ajouté dans .NET 5, mettez à niveau votre projet vers .NET 5 ou version ultérieure.
- ou -
Si votre code dépend de l’utilisation de Microsoft.VisualBasic.Devices types et de leurs membres, vous pouvez utiliser un type ou un membre correspondant dans la bibliothèque de classes .NET. Par exemple, les fonctionnalités équivalentes à la classe Microsoft.VisualBasic.Devices.Clock sont fournies par les types System.DateTime et System.Environment, et les fonctionnalités équivalentes à la classe Microsoft.VisualBasic.Devices.Ports sont fournies par les types dans l’espace de noms System.IO.Ports.
Catégorie
Visual Basic
API affectées
Types dans l’espace de noms Microsoft.VisualBasic.MyServices non disponibles
Les types dans l’espace de noms Microsoft.VisualBasic.MyServices ne sont pas disponibles.
Version introduite
.NET Core 3.0
Description de la modification
Les types dans l'espace de noms Microsoft.VisualBasic.MyServices étaient disponibles dans le .NET Framework. Ils ne sont pas disponibles dans .NET Core 3.0 - 3.1.
Les types ont été supprimés pour éviter les dépendances d’assembly inutiles ou les changements cassants dans les versions suivantes.
Action recommandée
Cet espace de noms a été ajouté dans .NET 5, mettez à niveau votre projet vers .NET 5 ou version ultérieure.
- ou -
Si votre code dépend de l’utilisation des types Microsoft.VisualBasic.MyServices et de leurs membres, il existe des types et des membres correspondants dans la bibliothèque de classes .NET. Voici un mappage des types Microsoft.VisualBasic.MyServices à leurs types de bibliothèques de classes .NET équivalents :
Type Microsoft.VisualBasic.MyServices | Type de bibliothèque de classes .NET |
---|---|
ClipboardProxy | System.Windows.Clipboard pour les applications WPF, System.Windows.Forms.Clipboard pour les applications Windows Forms |
FileSystemProxy | Types dans l'espace de noms System.IO |
RegistryProxy | Types liés au registre dans l’espace de noms Microsoft.Win32 |
SpecialDirectoriesProxy | Environment.GetFolderPath |
Catégorie
Visual Basic
API affectées
Les modèles À propos et SplashScreen sont cassés
Les fichiers About.vb
et SplashScreen.vb
générés par Visual Studio contiennent des références aux types dans l'espace de noms My
qui ne sont pas disponibles dans l'.NET Core 3.0 et 3.1.
Version introduite
3.0
Description de la modification
.NET Core 3.0 et 3.1 ne contiennent pas de prise en charge complète de Visual Basic My
. Les modèles de formulaires About et SplashScreen dans Les applications Visual Studio pour Visual Basic Windows Forms font référence aux propriétés du My.Application.Info
type qui ne sont pas disponibles.
Action recommandée
La prise en charge de Visual Basic My
a été améliorée dans .NET 5, mettez à niveau votre projet vers .NET 5 ou version ultérieure.
- ou -
Corrigez les erreurs du compilateur dans les types About et SplashScreen dans votre application. Utilisez la System.Reflection.Assembly
classe pour obtenir les informations fournies par le My.Application.Info
type. Un port normal des deux formulaires est disponible ici.
Conseil / Astuce
Il s’agit d’exemples de code et non optimisé. La liste des attributs doit être mise en cache pour réduire le temps de chargement du formulaire.
À propos
Imports System.Reflection
Public NotInheritable Class About
Private Sub about_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
' Set the title of the form.
Dim applicationTitle As String = Assembly.GetExecutingAssembly().GetCustomAttribute(Of AssemblyTitleAttribute)()?.Title
If String.IsNullOrEmpty(applicationTitle) Then
applicationTitle = System.IO.Path.GetFileNameWithoutExtension(Assembly.GetExecutingAssembly().GetName().Name)
End If
Me.Text = String.Format("About {0}", applicationTitle)
' Initialize all of the text displayed on the About Box.
' TODO: Customize the application's assembly information in the "Application" pane of the project
' properties dialog (under the "Project" menu).
Me.LabelProductName.Text = If(Assembly.GetExecutingAssembly().GetCustomAttribute(Of AssemblyProductAttribute)()?.Product, "")
Me.LabelVersion.Text = String.Format("Version {0}", Assembly.GetExecutingAssembly().GetName().Version)
Me.LabelCopyright.Text = If(Assembly.GetExecutingAssembly().GetCustomAttribute(Of AssemblyCopyrightAttribute)()?.Copyright, "")
Me.LabelCompanyName.Text = If(Assembly.GetExecutingAssembly().GetCustomAttribute(Of AssemblyCompanyAttribute)()?.Company, "")
Me.TextBoxDescription.Text = If(Assembly.GetExecutingAssembly().GetCustomAttribute(Of AssemblyDescriptionAttribute)()?.Description, "")
End Sub
Private Sub OKButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OKButton.Click
Me.Close()
End Sub
End Class
SplashScreen
Imports System.Reflection
Public NotInheritable Class SplashScreen
Private Sub SplashScreen1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
'Set up the dialog text at runtime according to the application's assembly information.
'TODO: Customize the application's assembly information in the "Application" pane of the project
' properties dialog (under the "Project" menu).
'Application title
Dim appTitle As String = Assembly.GetExecutingAssembly().GetCustomAttribute(Of AssemblyTitleAttribute)()?.Title
If String.IsNullOrEmpty(appTitle) Then
appTitle = System.IO.Path.GetFileNameWithoutExtension(Assembly.GetExecutingAssembly().GetName().Name)
End If
ApplicationTitle.Text = appTitle
Dim versionValue = Assembly.GetExecutingAssembly().GetName().Version
'Format the version information using the text set into the Version control at design time as the
' formatting string. This allows for effective localization if desired.
' Build and revision information could be included by using the following code and changing the
' Version control's designtime text to "Version {0}.{1:00}.{2}.{3}" or something similar. See
' String.Format() in Help for more information.
'
' Version.Text = System.String.Format(Version.Text, versionValue.Major, versionValue.Minor, versionValue.Build, versionValue.Revision)
Version.Text = System.String.Format(Version.Text, versionValue.Major, versionValue.Minor)
'Copyright info
Copyright.Text = If(Assembly.GetExecutingAssembly().GetCustomAttribute(Of AssemblyCopyrightAttribute)()?.Copyright, "")
End Sub
End Class
Catégorie
Visual Basic Windows Forms
API affectées
Aucun