Начало работы с ninject / ninject.commons / ninject.web.mvc с Mono 2.10.x и ASP.NET MVC3 - PullRequest
3 голосов
/ 20 апреля 2011

В настоящее время работает над проектом, который разрабатывается в VS2010.Я использую Windows в виртуальной машине, где я работал с большинством разработчиков .NET, но сейчас я работаю над новым проектом на основе ASP.NET MVC3, поэтому я подумал, что могу использовать Mono / MonoDevelop для экономии некоторых системных ресурсов.не запустив виртуальную машину Windows (отлично работало в предыдущем barebone-приложении MVC2).

Новый проект MVC3 использует Ninject и расширения.Я не могу просто запустить wth xsp4 и заставить его работать (множество ошибок).Поэтому я пытался git отдельных проектов (ninject, ninject.web.commons, ninject.web.mvc | ninject.mvc3) и собирал их.
(просто создавал их из MonoDevelop 2.6бета 2, безуспешное построение с nant)

Ninject собирает нормально, но я получаю сбои компилятора при сборке остальных.Они вообще работают с Mono 2.10.x?Если так, то кто-нибудь добился успеха в их построении?

1 Ответ

2 голосов
/ 11 мая 2011

Так что я смог заставить это работать, но не так, как я себе представлял.Существуют моно сборки и т. Д. Для различных проектов Ninject, но у меня все еще были проблемы.

Моя вторая попытка состояла в простой сборке из исходного кода с использованием MonoDevelop.Это оказалось адом, в основном с Ninject.MVC3 (нам пришлось изменить кучу анонимных методов | вызовов, чтобы сделать компилятор счастливым).В конце концов мы заработали это, но безрезультатно, что и наш проект не заработал.

Итак, наконец, я пошел по другому пути.

Я просто скопировал это:

System.Web.Helpers.dll
System.Web.Mvc.dll
System.Web.Razor.dll
System.WebPages.Deployment.dll
System.Web.WebPages.dll
System.WebPages.Razor.dll

В папку / bin проекта.
Обновлены ссылки, указывающие на них из MonoDevelop, поскольку ссылки GAC для MVC предназначены для версии 2)

Вместопытаясь использовать версии Mono для всего, что связано с Ninject, я просто использовал DLL-библиотеки .NET, которые были загружены в VS2010 с помощью NuGet.

Тогда все, почти, работало.Проект скомпилирован нормально.
Единственной проблемой, которую я оставил, было то, что FreeTDS не работал при попытке установить связь с сервером SQL.Я прошел через FreeTDS и проверил его с помощью Python и pyodbc.Моно все равно не будет подключаться, просто истекло время ожидания.Я понизил Mono 2.10.2 -> 2.10.1, и он волшебным образом сработал.

Итак, теперь у меня есть проект, работающий на моем Mac с MonoDevelop (не требуется виртуальная машина для загрузки ресурсов) с использованием MVC3, Razor, NHibernate, Ninject ...

Фу .....

...