Автоматическая ссылка на файлы классов внутри App_Code против ссылки на файлы классов вне App_Code - PullRequest
1 голос
/ 26 августа 2009

все вопросы относятся к проектам веб-сайта.


1) Почему классы файлов в папке App_Code автоматически ссылаются на остальную часть приложения, а классы файлов, созданные вне App_Code, отсутствуют?


2) Я не очень разбираюсь в компиляции, но зачем нам явно ссылаться на файлы классов, созданные вне App_Code? Потому что эти файлы будут скомпилированы в dll, созданные и названные программистом, и поэтому VS не знает, как называются эти dll, и поэтому не может автоматически ссылаться на эти dll?

3) Файлы вне App_Code по умолчанию автоматически не компилируются? Но почему нет?


1018 * спасибо *

Ответы [ 2 ]

1 голос
/ 27 августа 2009

Похоже, вы ожидаете поведение веб-приложения от "проекта" веб-сайта.

На веб-сайте каждый файл ASPX / ASHX (за пределами App_Code) считается содержимым. В любой момент вы можете просто опубликовать несколько файлов на веб-сайте. Следовательно, объединять их все в одну сборку нежелательно.

С веб-приложением вы обычно не публикуете только несколько файлов, вы завершаете этап приложения, компилируете все вместе, а затем публикуете.

Вы, кажется, указываете, что у вас есть "классы", объявленные вне App_Code? Где бы они были, если бы не в своем собственном проекте DLL? Если в проекте DLL, то вам нужно создать ссылку на проект в свойствах веб-сайта.

0 голосов
/ 26 августа 2009

Папка App_Code в основном используется в проектах веб-сайтов, тогда как в проектах веб-приложений вы обычно ссылаетесь на класс библиотеки. Предполагается, что App_Code работает с моделью WAP, но я часто нахожу, что она не очень хорошая.

Подробнее об этом можно прочитать здесь (см. Ссылки): http://www.codersbarn.com/post/2008/06/01/ASPNET-Web-Site-versus-Web-Application-Project.aspx

...