Какие сценарии возможны, когда компилятор VS C # не скомпилирует ссылку на ссылку? - PullRequest
1 голос
/ 12 марта 2009

Я, вероятно, задаю этот вопрос неправильно (возможно, именно поэтому Google не помогает), но здесь идет речь:

В Visual Studio я компилирую проект C # (назовем его Project A, стартовый проект), в котором есть ссылка на Project B. В проекте B есть ссылка на Project C, поэтому, когда A создается, библиотеки для B помещается в каталог bin A, как и dll для C (поскольку B требует C, а A требует B). Тем не менее, я, по-видимому, недавно внес некоторые изменения, чтобы dll для Project C не переместилось в каталог bin проекта A при перестройке решения. Я понятия не имею, что я сделал, чтобы это произошло.

Я не изменил настройку самого решения и добавил только дополнительные ссылки на файлы проекта. Что касается кода, я закомментировал большую часть фактического кода в Проекте B, который ссылается на классы в Проекте C, но не удалил ссылку из самого проекта (я не думаю, что это имеет значение). Мне сказали, что, возможно, компилятор C # каким-то образом оптимизировал, так что он не собирал Project C, но на самом деле у меня нет идей. Я думаю, что кто-то сталкивался с чем-то подобным до

Есть мысли? Спасибо!

Ответы [ 2 ]

1 голос
/ 12 марта 2009

Изменили ли вы конфигурацию сборки? В Visual Studio 2008 конфигурациями решений по умолчанию являются Debug и Release, а платформой решений по умолчанию - Any CPU. Мой опыт подсказывает, что пара Solution Configuration / Platform имеет уникальную конфигурацию сборки. Другими словами, Debug / Any CPU и Release / Any CPU - это две независимые конфигурации сборки, каждая со своими настройками. Если вы выбрали другую конфигурацию, настройки для исходной конфигурации не применяются автоматически; вам нужно будет установить зависимости для всех ваших конфигураций, а также для любых новых проектов, которые вы добавляете в свое решение, чтобы без труда переключаться между ними.

0 голосов
/ 12 марта 2009

Можно щелкнуть правой кнопкой мыши решение в обозревателе решений и проверить зависимости проекта.

Я предполагаю, что каким-то образом вы отметили, что B не полагается на C.

В качестве альтернативы: в свойствах решения убедитесь, что текущая конфигурация настроена для построения проекта C.

...