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

Asked
Viewd436

0


Первый квартал

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

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


2 квартал

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

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

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

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

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


спасибо

  • @Source - Я думаю, вам следует ограничить свои сообщения одним вопросом на сообщение. Так будет легче ответить на них.

    Jose Basilio28 апреля 2009, 19:50

3 ответов

2

В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 - это временный каталог для компилятора. Также не требуется после компиляции.

1

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

1

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

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

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