Как предварительно скомпилировать ASP.NET 4.0 в одну DLL с VS 2010 - PullRequest
2 голосов
/ 03 февраля 2011

Я недавно обновился с 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 ]

0 голосов
/ 22 марта 2011

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

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

0 голосов
/ 03 февраля 2011

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

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

Вот хорошая запись об этом Ссылка

...