System.Web.dll ссылается на System.Windows.Forms? - PullRequest
0 голосов
/ 06 апреля 2009

Я слышал от друга, что asp.net использует / использует класс форм Windows. Я пытался выяснить, какой класс это может быть.

Единственный класс, который я нашел, был System.Web.UI.WebControls.FontInfo
с собственностью public string[] Names
Атрибут Editor("System.Windows.Forms.Design.StringArrayEditor--snip")

Есть ли ссылка на Windows.Forms.dll из System.Web.dll?

Ответы [ 5 ]

2 голосов
/ 25 ноября 2009

Я думаю, что есть ссылка из System.Web версии 2.0.0.0 на System.Windows.Forms.

Проверьте System.Web.Compilation.ResXBuildProvider.GetResourceReader (Stream) в Reflector.
В первой строке: ResXResourceReader reader = new ResXResourceReader (inputStream); ResXResourceReader из System.Windows.Forms, версия 2.0.0.0

Мне было любопытно, потому что я заметил System.Windows.Forms в окне загруженных модулей в Visual Studio.

ildasm System.web.dll / out = System.Web.il Позвольте мне быстро найти ссылки System.Windows.Forms. Я не мог быстро найти способ сделать это с помощью отражателя.

1 голос
/ 15 апреля 2009

Если вы посмотрите на сборку System.Web в удобном инструменте Reflector , вы увидите, что действительно существует ссылка из System.Web на System.Windows.Forms. Тем не менее, если вы используете один из плагинов для Reflector, который будет экспортировать обратный инженерный код в файлы (например, FileGenerator ), а затем выполнять поиск по нему, фактически не будет использоваться System.Windows.Forms. Поскольку среда выполнения .Net будет загружать сборки только тогда, когда они действительно необходимы, сборка WinForms никогда не должна загружаться при любом использовании System.Web.

1 голос
/ 06 апреля 2009

Прежде всего, я не уверен в таком существовании.

Но пространство имен или имя класса не обязательно означает, что вам нужна ссылка на Windows.Forms.dll. Вы можете определить «System.Windows.Forms.Design.StringArrayEditor» в сборке вне Windows.Forms.dll.

1 голос
/ 06 апреля 2009

Ссылка отсутствует, и System.Windows.Forms также отсутствует.

StringArrayEditor является UITypeEditor в сборке System.Design. Это не загружается, если не используется, кроме как во время разработки, когда это будет 'лениво загружено'.

0 голосов
/ 06 апреля 2009

Добавьте меня в список скептиков. Но что более важно, это не имеет значения. То, как платформа .Net настроена для связывания добавления или удаления зависимости от любой сборки ядра, поставляемой вместе с этой платформой, на самом деле не повлияет на производительность.

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