2013-04-15 1 views
1

У меня есть 2 библиотеки классов (ClassA и ClassB), на которые ссылается другая библиотека (ClassX). На эти библиотеки ссылаются в Web Project (Web01).C# Class Library не обновляется автоматически

Первоначально, только ClassA и ClassB используются в Web01. Когда я использовал ClassX в Web01, он автоматически изменил мои ссылки на ClassA и ClassB. Я это заметил, потому что всякий раз, когда я меняю ClassA или ClassB, а строят Web01, ClassA.dll и ClassB.dll даты не обновляются. Это те же даты, что и ClassX.dll. ClassA.dll и ClassB.dll 's дата будет обновляться только до тех пор, пока я не построю ClassX.

Есть ли работа вокруг этого, так что мне не нужно строить ClassX каждый раз, когда я делаю некоторые изменения в ClassA и ClassB?

+0

все 4 проекта в одном решении, и если да, то все ссылки на проекты ссылки? Если нет, это звучит как ожидаемое поведение ... – Jon

+0

Visual Studio будет перекомпилировать проект только в том случае, если есть изменения, поэтому простое компиляция решения не всегда приводит к тому, что каждый проект перекомпилируется без необходимости. Если все эти проекты находятся в одном и том же решении, VS гарантирует, что каждый будет скомпилирован по мере необходимости. – IamIC

+0

ClassA, ClassB и Web01 находятся в одном проекте/решении. Когда я начал ClassX, я также добавил ClassA и B к его решению. Все это ссылки на проекты, потому что я думал, что всякий раз, когда я обновляю и перестраиваю ClassA и ClassB, обновления будут отображаться в Web01. Проблема в том, что мне также нужно перестроить ClassX. Моя проблема в будущем развитии ClassX будет перенесена на других, и я не могу их беспокоить и попросить перестроить, если у них нет изменений. – jmerencilla

ответ

0

Как указано в комментарии выше, если проекты находятся в одном решении, сборки должны быть каскадными.

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

Опять же, это только насколько я знаю. Могут быть и другие варианты.

Что-то еще следует учитывать, на всякий случай это применимо: если у вас есть постоянные значения в любой из ссылочных ассемблеров, а константа изменена, не забудьте перекомпилировать ВСЕ, что ссылается на эту сборку, поскольку константы решаются во время компиляции и заменяются с буквальными значениями непосредственно в двоичном формате.

Смежные вопросы