Я делаю приложение WPF VB.NET с использованием VS2013, и я просто пытаюсь найти и использовать правильную точку входа.Ошибка получения VB.NET: Class 'Application' должен реализовать 'Sub InitializeComponent()'
Я прочитал множество ответов на это, один сказал что-то, а другое сказал наоборот. В основном они говорят: точкой входа вашего проекта является автогенерированная main(), которую вы можете найти в своем приложении Application.g.vb. Да, хорошо, очень приятно, но ... это сгенерированный файл, не рекомендуется его модифицировать. Так что я искал в сети о том, как реализовать метод мой собственный основной(), и общий ответ, который я нашел это:
- Выберите Application.xaml и изменить его сборки действие на «страницы»
Создать собственный основной метод в Application.xaml.vb с этой подписью:
_ Public Shared Sub Main() Dim приложение Как Application = Новое приложение() app.InitializeComponent() app.Run() End Sub
Перейдите к своим свойствам проекта, отключите «Включить фреймворк приложения» и выберите Sub Main в качестве запуска для вашего приложения.
И так я сделал, но я постоянно получаю эту ошибку: Ошибка 3 класса 'Application' должен реализовать 'Sub InitializeComponent()' для интерфейса 'System.Windows.Markup.IComponentConnector.
это файл Application.g.i.vb он генерирует:
#ExternalChecksum("..\..\Application.xaml","{406ea660-64cf-4c82-b6f0-42d48172a799}","DB788882721B2B27C90579D5FE2A0418")
'------------------------------------------------------------------------------
' <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 Off
Option Explicit On
Imports System
Imports System.Diagnostics
Imports System.Windows
Imports System.Windows.Automation
Imports System.Windows.Controls
Imports System.Windows.Controls.Primitives
Imports System.Windows.Data
Imports System.Windows.Documents
Imports System.Windows.Ink
Imports System.Windows.Input
Imports System.Windows.Markup
Imports System.Windows.Media
Imports System.Windows.Media.Animation
Imports System.Windows.Media.Effects
Imports System.Windows.Media.Imaging
Imports System.Windows.Media.Media3D
Imports System.Windows.Media.TextFormatting
Imports System.Windows.Navigation
Imports System.Windows.Shapes
Imports System.Windows.Shell
'''<summary>
'''Application
'''</summary>
<Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Public Class Application
Inherits System.Windows.Application
Implements System.Windows.Markup.IComponentConnector
Private _contentLoaded As Boolean
'''<summary>
'''InitializeComponent
'''</summary>
<System.Diagnostics.DebuggerNonUserCodeAttribute(), _
System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")> _
Public Sub InitializeComponent()
#ExternalSource("..\..\Application.xaml",4)
Me.StartupUri = New System.Uri("MainWindow.xaml", System.UriKind.Relative)
#End ExternalSource
If _contentLoaded Then
Return
End If
_contentLoaded = True
Dim resourceLocater As System.Uri = New System.Uri("/FatLink;component/application.xaml", System.UriKind.Relative)
#ExternalSource("..\..\Application.xaml",1)
System.Windows.Application.LoadComponent(Me, resourceLocater)
#End ExternalSource
End Sub
<System.Diagnostics.DebuggerNonUserCodeAttribute(), _
System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0"), _
System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never), _
System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes"), _
System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity"), _
System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")> _
Sub System_Windows_Markup_IComponentConnector_Connect(ByVal connectionId As Integer, ByVal target As Object) Implements System.Windows.Markup.IComponentConnector.Connect
Me._contentLoaded = True
End Sub
End Class
так ..., как Sub InitializeComponent() есть, почему, черт возьми, я получаю эту ошибку?
** EDIT: ** Мой Application.xaml.vb только что:
Partial Public Class Application
<System.STAThreadAttribute(), _
System.Diagnostics.DebuggerNonUserCodeAttribute(), _
System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")> _
Public Shared Sub Main()
Dim app As Application = New Application()
app.InitializeComponent()
app.Run()
End Sub
End Class
И код _whole_, который содержит основной функцией является? – Steve
Я только что добавил приложение Sub Main в класс, все еще не делая ничего в этом файле. Кстати, я редактировал сообщение, чтобы добавить файл while. –
_Partial Public Class Application_ – Steve