Проекты сборки C # и их зависимости - PullRequest
0 голосов
/ 01 октября 2009

В VS2005 у меня есть несколько проектов на C #, которые зависят друг от друга.

Если проект A зависит от B (например, ссылается на него), то я хочу, чтобы B строил всякий раз, когда строю A, предполагая, что B каким-то образом изменился с момента последней сборки. Так обстоит дело с проектами VC, но по некоторым причинам он не работает с проектами C #. Если я очищаю B, а затем собираю A, он просто говорит мне, что не может найти B ...

Есть идеи?

Ответы [ 5 ]

2 голосов
/ 01 октября 2009

Если щелкнуть правой кнопкой мыши решение Visual Studio и выбрать «Порядок сборки проекта», вы можете проверить порядок, в котором эти отдельные проекты создаются. ТАКЖЕ убедитесь, что вы не ссылаетесь на «отладочную» DLL в сборке «release» и наоборот.

1 голос
/ 01 октября 2009

Решение позволяет вам определять зависимости между проектами.И если вы используете это, оно должно работать автоматически.Обычно зависимости устанавливаются автоматически.Скорее всего, вы добавили ссылку на сборку, а не проект.Просмотрите вкладку "Проекты" в диалоговом окне "Добавить ссылку".

1 голос
/ 01 октября 2009

Вам необходимо создать реальное решение, а не проекты по отдельности.

0 голосов
/ 01 октября 2009

переопределить целевой объект AfterResolveReferences в вашем csproj. Затем используйте элемент @ (NonVCProjectReference), чтобы перечислить путь к каждому проекту и построить их. Я рекомендую вам прочитать MSBuild документацию

0 голосов
/ 01 октября 2009

Если вы добавляете все проекты в одно и то же решение и устанавливаете зависимости между ними, Visual Studio должна иметь возможность вырабатывать правильный порядок и создавать все, что нужно построить, когда вы что-то изменяете в одном из «нижних» проектов. .

В вашем случае он знал бы, что должен был восстановить B, прежде чем строить A.

...