У меня есть 3 конфигурации сборки для моего решения: Release, Debug и Custom. Также у меня есть WebSite (да, не WebApplication ) тип проекта. По умолчанию при создании WebSite VisualStudio 2008 добавляет в файл решения следующие разделы:
Debug.AspNetCompiler.VirtualPath = "/MyWebSite"
Debug.AspNetCompiler.PhysicalPath = "MyWebSite\"
Debug.AspNetCompiler.TargetPath = "PrecompiledWeb\MyWebSite\"
Debug.AspNetCompiler.Updateable = "false"
Debug.AspNetCompiler.ForceOverwrite = "true"
Debug.AspNetCompiler.FixedNames = "false"
Debug.AspNetCompiler.Debug = "True"
Release.AspNetCompiler.VirtualPath = "/MyWebSite"
Release.AspNetCompiler.PhysicalPath = "MyWebSite\"
Release.AspNetCompiler.TargetPath = "PrecompiledWeb\MyWebSite\"
Release.AspNetCompiler.Updateable = "false"
Release.AspNetCompiler.ForceOverwrite = "true"
Release.AspNetCompiler.FixedNames = "false"
Release.AspNetCompiler.Debug = "False"
SlnRelativePath = "\MyWebSite\"
Эта конфигурация используется MSBuild для предварительной компиляции / публикации веб-сайта. Как видите, здесь нет конфигурации для моей «Пользовательской» конфигурации сборки, только для «Release» и «Debug» . Поэтому, когда я пытаюсь создать решение с помощью MSBuild и с помощью «пользовательской» конфигурации сборки, WebSite просто не компилируется.
Но, когда я вручную добавляю следующие строки в файл решения, все работает как положено. :
Custom.AspNetCompiler.VirtualPath = "/MyWebSite"
Custom.AspNetCompiler.PhysicalPath = "MyWebSIte\"
Custom.AspNetCompiler.TargetPath = "PrecompiledWeb\MyWebSite\"
Custom.AspNetCompiler.Updateable = "false"
Custom.AspNetCompiler.ForceOverwrite = "true"
Custom.AspNetCompiler.FixedNames = "false"
Custom.AspNetCompiler.Debug = "True"
Я думаю, что это ошибка в VisualStudio 2008 (я проверял это в 2010 году). Проблема в том, что когда VisualStudio 2008 изменит файл решения (например, в случае добавления нового проекта), мои добавленные вручную строки будут удалены. Может быть, мне следует сообщить об ошибке команде разработчиков Microsoft VS?
Если у кого-то еще была такая же проблема и были какие-то предложения, как ее решить? Спасибо!