У меня есть несколько файлов класса в App_Code в веб-сайте ASP.net, работающем в Профессионале Microsoft Visual Studio 2005 года.
В liu использования полного комплекта модульного теста я просто хочу так или иначе скомпилировать те классы всего проекта в.EXE так, чтобы я мог ночью выполнить модульные тесты на них.
Я действительно знаю, как создать отдельный проект библиотеки C#, состоящий из тех файлов и как включать их в мой веб-сайт - но это не желательно - я не хочу бросать способность внести непрерывные изменения кода тех классов библиотеки при выполнении веб-сайта в отладчике. Насколько я знаю, что отладчик .NET не достаточно мощен для изменения кода во включенных библиотеках с мгновенной автоматической перекомпиляцией на перезагрузке страницы.
Так, я хочу свой пирог и ем его, также:
Действительно ли возможно иметь обоих?
Вы должны поместить код в совершенно отдельную библиотеку / сборку классов, а затем ссылаться на него из своего веб-проекта и утилиты командной строки. Насколько я знаю, не имеет значения, где вы изменяете свой код, когда он остановлен в отладчике. У меня никогда не было проблем.
Надеюсь, что это поможет.
Ваш проект находится под контролем источника, верно? Верно? В этом случае вы можете использовать свою систему управления версиями, чтобы включить ссылку на папку app_code вашего проекта asp.net как часть отдельного проекта модульного тестирования. Точный механизм связывания зависит от платформы управления версиями, но если все сделано правильно, это означает, что в системе управления версиями есть ровно один экземпляр вашей папки App_Code, который виден из двух разных проектов. Таким образом, все будет актуальным.
Это дает преимущество в том, что вы можете хранить простой, некомпилированный код прямо здесь, как и всегда, но при этом делая код доступным для тестирования.