Я обновляю нашу среду непрерывной интеграции CruiseControl.NET с использования старых проектов веб-развертывания Visual Studio 2008 до Visual Studio 2010.
Я не хочу использовать проекты веб-развертывания Beta 2010, поскольку думаю, что смогу использовать обновленную публикацию / упаковку в 2010 году.
В настоящее время мне удалось настроить скрипт CruiseControl так, чтобы он дважды вызывал MSBuild. Сначала необходимо построить решение в конфигурации выпуска, а затем упаковать проект MVC.
Затем я копирую правильные файлы из пакета из отвратительного пути к файлу (что заставляет меня подозревать, что я делаю это неправильно, хе-хе) и из Transformed web.configs на тестовый сервер.
Наконец-то это работает, но в отличие от того, когда я использовал проекты развертывания 2008 года, этот код возвращает ExecutingAssembly в виде App_web_xxxxx.dll, а не Company.Product.Web.dll, что мне и нужно.
Dim CurrentAssembly As Reflection.Assembly = System.Reflection.Assembly.GetExecutingAssembly
Dim version As String = CurrentAssembly.GetName.Version.ToString
Я знаю, что GetName возвращает более длинную строку, чем просто имя, но я отлаживаю ее, чтобы посмотреть, что она содержит. Я понимаю, что это скомпилированная / кэшированная DLL, но почему она не в MVC bin.
Приветствия