У нас есть существующее приложение MVC, которое мы создаем с использованием TeamCity, и дела шли отлично, пока нам не потребовалось начать создание другого приложения MVC 3 на том же сервере сборки ...
После установки MVC 3 первой ошибкой сборки, которую мы начали получать в проекте MVC 2, было:
T4MVC.cs(112, 11): error CS0012: The type 'System.Web.WebPages.Razor.WebRazorHostFactory' is defined in an assembly that is not referenced. You must add a reference to assembly 'System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.
T4MVC.cs(112, 11): error CS0012: The type 'System.Web.WebPages.StartPage' is defined in an assembly that is not referenced. You must add a reference to assembly 'System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.
ОК, нет проблем. Я добавил эти сборки в качестве ссылок, а затем получил другую ошибку:
CustomViewEngine.cs(44,9): error CS1502: The best overloaded method match for 'System.Web.Mvc.WebFormView.WebFormView(System.Web.Mvc.ControllerContext, string)' has some invalid arguments
Так что на данный момент, я думаю, что я нахожусь на лестнице, чтобы проклясть, и я отменил свои изменения. Основная проблема, по-видимому, заключается в том, что T4 замечает, что MVC 3 доступен, и использует MVC 3 вместо MVC 2. Может ли это быть так? Если так, как я могу это исправить? Кажется, нет способа указать MVC 2 в файле настроек T4.
Я не разработчик, который обычно дурачит T4, так что я чувствую себя немного потерянным в этом!
Конечно, все локально на моей рабочей станции строится нормально.
Любой совет будет принята с благодарностью!