Как сохранить библиотечный проект Visual Studio от «выталкивания» его DLL-файлов в веб-проекты при сборке? - PullRequest
1 голос
/ 24 октября 2011

Это сложная концепция в названии, поэтому простите меня, если она не полностью отражает идею.

Возможно, я сумасшедший, но я только что заметил это поведение:

  1. Создание решения Visual Studio
  2. Создание проекта библиотеки DLL (я использую C # ... не знаю, совпадает ли поведение с другим проектом DLL для конкретного языка).
  3. Создание веб-клиента A (я использовал проект MVC 3)
  4. Ссылка на библиотеку из нового веб-клиента A
  5. Создание веб-клиента B (я использовал проект ASP.NET)
  6. Ссылка на библиотеку из нового веб-клиента. B
  7. Построение решения
  8. Подождите немного (хотя бы минуту, чтобы разница во времени была очевидной)
  9. Откройте два окна Windows Explorer: одно в корзину в веб-клиенте A, а другое в корзину в веб-клиенте B. Вы должны увидеть двоичные файлы для проекта клиента, а также для проекта библиотеки (при условии, что «Скопировать локальный» для ссылок проекта являетсяуниверсальный дефолт)
  10. Build только проект библиотеки .

В моей системе DLL библиотеки выглядит как push (или взаимно pull ) в папки bin клиента.Это должно быть видно по разнице временных меток, если вы ждете на шаге 8. Опять же, возможно, я сумасшедший, но я знаю, что делал этот сценарий раньше и никогда не видел такого поведения.

Проблема возникла из-за того, что я работал над решением с таким типом организации и создавал два веб-приложения по отдельности, а не целое решение.Когда я собирал веб-приложение A, оно работало нормально, но веб-приложение B жаловалось на ошибку «FileNotFoundException: не удалось загрузить файл или сборку».И затем наоборот.

Итак, на вопрос:

Это нормальное поведение (и я либо сумасшедший, либо я ошибаюсь из-за того, что был в этом сценарии раньше)?

Если не нормально, есть ли настройка, которую я могу использовать, чтобы библиотека DLL могла попасть в клиент только тогда, когда клиент будет собран?

1 Ответ

1 голос
/ 24 октября 2011

Проверьте локальные настройки копирования по ссылкам на библиотеку классов.

редактировать

Только что проверил, и то же самое происходит на моей машине. Я думаю, что это поведение по умолчанию. Если вы подумаете об этом, это позволит вам перестроить библиотеку классов и использовать ее в ссылочном проекте, не создавая этот проект.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...