Visual Studio 2008 и 2010 ведут себя по-разному при ссылке со ссылкой на сборки в файловой системе?

StackOverflow https://stackoverflow.com/questions/3446637

Вопрос

Я вижу странный феномен в Visual Studio 2010.

Моя настройка проекта - это (я унаследовал это - не могу изменить его в ближайшее время, к сожалению :-():

  • Приложение WinForms, которое использует Crystal Reports Икс (v10) как его отчетливый двигатель; Full CR X Developer Edition установлен на моей коробке Dev

  • Несколько приложений WebForms, использующие Crystal Reports Xi. (v11) Как их отчетливый двигатель - не может установить полную версию CR XI, поскольку она столкнутся с CR X Dev Edition ....

Для того, чтобы делать работу на нашем сервере сборки, я также создал Library Папка внутри каталога проекта приложения Winforms с нужными нужными файлами выполнения CR X, а также Library Папка внутри каталога проекта веб-приложения с файлами выполнения CR XI.

В VS 2008 я смог выбрать необходимые сборки из соответствующей папки библиотеки в моих проектах WinForms (несколько классов библиотек и т. Д.), И в моих веб-приложениях. Все работало отлично.

Когда я обновил в Visual Studio 2010, теперь вдруг я вижу:

  • В моих приложениях WinForms все ссылки на файлы выполнения CR X автоматически обновляются для использования файлов CR X из GAC - это нет что я хочу! Это не помогает, если я удаляю эти ссылки и снова добавьте их, просматривая Library Папка - когда я выбираю их, VS2010, кажется, автоматически преобразует их в ссылки GAC ...

  • В моих веб-приложениях все становится еще хуже: когда я выбираю собрание времени выполнения CR XI из Library Папка, снова, VS2010, автоматически, похоже, обнаруживает, что есть похожие файлы (то же имя, но разные версии) в GAC и используют эти файлы вместо этого - теперь мои веб-приложения больше не работают .....

Что H *** собирается с VS 2010 здесь ?? Почему это не может оставить мои выборы в одиночку и позволить мне выбрать мои файлы выполнения из Library папка вместо того, чтобы настаивать на GAC ?? Что изменилось между VS 2008 и VS 2010 в этом отношении ?? У кого-нибудь есть какие-то идеи в это ??

Это было полезно?

Решение

Это может быть полезно для либо

(1) Перейти к инструментам Опции Project & Solutions Build & Run и изменение извлеченности MSBuild Verbousition на «Диагностическую», а затем создайте и в окне выходных данных см. На том, как логика MSBUILD RESAL RESILONG работает для этих сборки. То есть, если VS еще не сделал что-то смешное для базового файла .csproj

(2) Сравните XML в файле проекта VS2008 по сравнению с файлом проекта VS2010, чтобы увидеть, что в <Reference> узлы

Дикая спекулятивная предположение: проект VS2010 - это целевой клиент «.NET 4.0» (а не «.NET 4.0 (Framework)», а библиотеки нуждаются в полной структуре, а MSBUILD видит эту зависимость и использует защиту логики.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top