Я читал, что сборки, помещенные вручную в Bin, также автоматически ссылаются на


Q1

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

Но я где-то читал, что даже если мы просто скопируем (таким образом, мы не добавим его через Веб-сайт -> Добавить ссылку) сборку в каталог Bin веб-проекта, она все равно будет будут автоматически ссылаться на все страницы в этом проекте. Но насколько я могу судить, это не так ?!


Q2

A) Развернутый проект веб-сайта также создает PrecompiledApp.config и website1_deploy.wdproy.

Следует ли также скопировать эти два файла на сервер?

Б) Проект развернутого веб-приложения также создает WebApplication1.csproj и WebApplication1.csproj.user.

  • Следует ли также скопировать два файла на сервер? Если да, то почему?

  • Я полагаю, что каталог obj не следует копировать на веб-сервер ?!


спасибо


person SourceC    schedule 28.04.2009    source источник
comment
@Source - я думаю, вам следует ограничить свои сообщения одним вопросом на сообщение. Так будет легче ответить на них.   -  person Jose Basilio    schedule 28.04.2009


Ответы (3)


В1: «добавить ссылку» в проект веб-сайта означает больше, чем просто копирование библиотеки DLL напрямую в корзину. Это также означает размещение зависимости в app.config и файл подсказки, который помогает Visual Studio найти dll из источника. Этот путь используется Visual Studio для непосредственного копирования библиотеки DLL обратно в корзину (если она каким-либо образом удаляется) и для обеспечения функциональности «ссылки на обновление». Регистрация dll в app.config необходима для компиляции кода во время выполнения с использованием правильной версии dll.

Q2A: website1_deploy.wdproy не требуется. PrecompiledApp.config есть. Этот файл сообщает среде выполнения, что веб-сайт уже был предварительно скомпилирован и что файлы aspx являются просто заполнителями для IIS.

Q2B: вам не нужно копировать все эти файлы. Файл .csproj предназначен только для Visual Studio, чтобы отслеживать все файлы в вашем проекте. Среда выполнения ничего с этим не делает. Файл .csproj.user содержит ваши настройки, опять же, среда выполнения ничего с ними не делает. Он этого даже не понимает. Папка obj - это временный каталог для компилятора. Также не требуется после компиляции.

person tofi9    schedule 28.04.2009

Q1 - копирование в корзину - это задача времени выполнения. Веб-проект - это время разработки. Они связаны, но не одинаковы.

person Cheeso    schedule 28.04.2009

когда вы даете ссылку, она обычно загружает ссылку в файл конфигурации, поэтому, если вы добавите необходимую запись в файл конфигурации и скопируете dll в папку bin, на нее будет ссылаться напрямую, без фактического «добавления ссылки»

вам вообще не нужно копировать файл wdproj. это просто проект развертывания, который помогает создавать ваши релизы.

однако вам нужно будет скопировать файл precompiled.config в развернутый каталог.

person Vikram    schedule 28.04.2009