Отключить экземпляр форм по умолчанию в VB.NET - PullRequest
0 голосов
/ 02 ноября 2018

После этого ответа. Могу ли я отключить автоматическое создание экземпляров? Я хочу, чтобы VS показывал ошибку:

Ссылка на элемент без общего доступа требует ссылки на объект

1 Ответ

0 голосов
/ 04 ноября 2018

Функции, включенные в Visual Studio, инициализируются на основе исходного шаблона проекта, который вы выбираете при создании проекта. Обычно можно выбрать шаблон Visual Basic для Windows Forms App (.Net Framework), как показано ниже.

(Примечание. Все изображения основаны на версии VS.8.8.8 VS 2017)

Windows Forms App Template

Это загрузит среду проекта VB, которая включает в себя много автоматической генерации кода, которая поддерживает платформу VB Application Framework, включая функцию «Экземпляр формы по умолчанию» через дополнения к My Namespace (см .: My.Internals: проверка My Feature в Visual Basic . Теперь вы можете попробовать отключить эту платформу с помощью флажка Свойства проекта -> Вкладка приложения -> Включить платформу приложения, но все, что для этого требуется, - это предоставить вам свою собственную. Реализация "Sub Main".

WinForm Props

Чтобы создать проект, свободный от генерации кода пространства имен, включая экземпляры форм по умолчанию, вам нужно начать с шаблона «Пустой проект (.Net Framework)».

Empty VB Project

Это создаст пустой VB проект. Если вы добавляете WinForm (меню «Проект» -> «Добавить форму окна») и переходите к представлению кода и добавляете следующее:

Class Demo_NoDefaultForms
    Sub ErrorOnForm1Reference()
        Form1.Text = "ain't gonna work"
    End Sub
End Class

Вы увидите, что экземпляр Form1 по умолчанию не поддерживается.

Default Instance fail

Кроме того, все «Application Framework» в свойствах проекта отключено.

Empty Proj Props

Тип проекта My Namespace Информация похожа на всю информацию проекта, которая хранится в файле projName.vbproj и сохраняется в теге <MyType>. Хотя я никогда не находил официальную документацию по этому тегу, ниже приведены результаты наблюдений за созданием различных типов проектов.

MyType Tag Value                  Project Type
-----------------------------     ------------------------------------------------
WindowsForms                      Normal Windows Form App w/ Application Framework enabled
WindowsFormsWithCustomSubMain     Normal Windows Form App w/ Application Framework disabled
Console                           Console App w/ Application Framework enabled
Custom                            WPF Application
Empty                             No My Namespace additions

Начинать с шаблона «Пустой проект (.Net Framework)» было бы утомительно, так как вам нужно было бы выполнить большую настройку котельной плиты и каждый раз объявлять «Sub Main». Я рекомендую вам создать базовый проект со всеми вашими настройками, а затем экспортировать проект с новым шаблоном (см .: Как: создать шаблоны проектов .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...