Как предварительно скомпилировать ASP.NET 4.0 в одну DLL с помощью VS 2010

Недавно я обновился с VS 2003, где я работал над веб-сайтом ASP.NET 2.0, до VS 2010, где я перешел на ASP.NET 4.0. До сих пор было большой головной болью, чтобы мой сайт скомпилировался с новой версией. Одна проблема заключалась в том, что мои страницы aspx.cs не могли найти общие библиотеки кода в моем проекте. Я решил эту проблему, переместив свой общий код в папку App_Code (если есть другой/лучший способ сделать это, сообщите мне).

Еще одна проблема, которую я нахожу запутанной, связана с предварительной компиляцией. В VS 2003 я мог нажать кнопку сборки проекта, и он предварительно скомпилировал мой сайт в файлы myweb.dll и myweb.pdb. Теперь у меня возникают проблемы с тем же самым в VS 2010. Когда я создаю сайт в VS 2010, dll не создается. Мне удалось найти вариант «Опубликовать» сайт, который занимает вечность (около 2 минут) и включает дублирование сайта в другую папку. Это было бы приемлемо, но вместо создания одного DLL-файла создается набор файлов: App_code.compiled, app_code.dll, App_code.pdb, App_global.asax.compiled, App_global.asax.dll, App_global.asax.pdb. , App_Web_lrpcway1.dll, App_Web_lrpcway1.compiled, App_Web_lrpcway1.pdb.

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

Спасибо


person dcompiled    schedule 03.02.2011    source источник
comment
asp.net 2.0 с 2003? опечатка?   -  person Fredou    schedule 03.02.2011


Ответы (2)


В этом разница между веб-сайтом и веб-приложением. Вы можете преобразовать свой веб-сайт в веб-приложение, чтобы он работал так, как вы привыкли.

Файлы в appCode компилируются, когда это требуется для запуска, и поэтому не предоставляют dll.s в папке bin/debug, но они должны создаваться, когда приложение фактически запускается (но оно не помещается в то же место).

Вот хорошая статья об этом Link

person Development 4.0    schedule 03.02.2011

Вы можете использовать средство слияния ASP.NET, чтобы объединить все маленькие библиотеки DLL в одну большую.

http://msdn.microsoft.com/en-us/library/bb397866.aspx

person Matt Johnson-Pint    schedule 22.03.2011