2012-05-22 4 views
1

В решении 1 У меня есть проект с именем MainProject этот проект ссылается на другой проект с именем Model и DLL (сборки) с именем Презентация.Как найти ошибку во время компиляции вместо времени выполнения в указанной DLL?

Это DLL здание в другом растворе, Это решение содержит презентацию проекта и ModelPerim (этот проект имеет такую ​​же сборку с моделью проекта) проекта. В презентационном проекте я работал с ModelPrim.

Вопрос:

В MainProject При наличии конфликта с моделью (например собственности в ModelPrim Не существует в модели) этот конфликт вырос в время выполнения, Как я знаю этот конфликт в время компиляции?!

Надежда я могу проиллюстрировать эту проблему:

enter image description here

+1

Возможно, существует несколько способов решения вашей проблемы. Если возможно, я настоятельно рекомендую вам сделать модель и modelperim той же библиотеки и ссылки, что проект в обоих ваших решениях. Если это невозможно, вы можете настроить сервер сборки, который запускает модульные тесты, чтобы выявить несоответствия. Тесты могут быть написаны для сравнения обеих библиотек. Еще одно решение - создать шаблон генерации кода, который будет генерировать modelperim от модели или наоборот. – mortb

+0

@mortb, вы должны действительно опубликовать это как ответ. –

+0

@mortb Спасибо за ваш ответ, первый путь невозможен, второй и третий путь для меня дорого в этой ситуации. –

ответ

0

Там может быть несколько способов решения проблемы.

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

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

Еще одним решением было бы создать шаблон генерации кода, который будет генерировать modelperim от модели или наоборот. Вы будете запускать это (автоматически, если это возможно), когда вы вносите изменения, генерируете новый «клон».

0

Я ссылаюсь на модель dll вместо проекта ModelPrim в решении2, а затем на сборку решения2, так что были обнаружены конфликтные реквизиты.

+0

Звучит неплохо! Думаю, это решает вашу проблему? – mortb

+0

Да, решила мою проблему, спасибо за ваше время и ответ. –