Я отлаживаю свой проект от консоли с MsBuild.exe. После того, как я компилирую проект, я хочу запустить и протестировать его, но у меня есть проблема, что я не могу запустить Cassini для тестирования проекта. Я могу выполнить Cassini от консоли?
Вы можете вызвать его в таком формате:
WebDev.WebServer /port:9999 /path:"C:\Projects\Web Site"
Ниже приведена информация с моей машины для установки в место по умолчанию, YMMY.
Для 2.0 - 3.5/VS 2008, он находится по адресу:
C:\Program Files (x86)\Common Files\Microsoft Shared\DevServer\9.0
И это просто WebDev.WebServer.exe
Для 4.0/VS 2010 он переехал в 10. 0, он находится по адресу:
C:\Program Files (x86)\Common Files\Microsoft Shared\DevServer\10.0
И там есть WebDev.WebServer20
и WebDev.WebServer40
для разных версий CLR.
Проблема с запуском WebDev.WebServer из командной строки заключается в том, что вы не знаете, используется ли уже порт, к которому вы обращаетесь, в этом случае будет показан неприятный модальный диалог, и нет надежного способа закрыть его, когда вы закончите.
Вы можете надежно разместить WebDev.WebHost, который является ядром WebDev.WebServer, и с помощью нескольких вспомогательных методов обеспечить получение открытого порта и надежное его закрытие.
См. второй пример на этой странице: http://www.codeproject.com/KB/aspnet/test-with-vs-devserver-2.aspx
И, как вы уже знаете, CassiniDev предлагает некоторые расширенные возможности. Класс Fixture
может дать вам полный контроль над сервером. Но если только вам не нужно использовать IP, отличный от loopback, самохостинг WebDev.WebHost, вероятно, будет вашим лучшим выбором.