Как предварительно скомпилировать 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.

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

Спасибо

2 ответа

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

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

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

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

Вот хороший отзыв об этом Ссылка

Другие вопросы по тегам