Visual Studio 2010 "Публикация" не копирует файлы просмотра Razor
При использовании встроенной функции публикации Visual Studio 2010 с веб-приложением, которое включает представления Razor (.cshtml или .vbhtml), служба публикации не копирует файлы просмотра Razor.
Это происходит как в локальной публикации "Файловая система", так и в удаленной публикации с использованием Web Deploy, используя Ноябрь 9 Release Candidate.
Есть ли какие-либо известные способы обхода?
Ответы
Ответ 1
Вам нужно установить действие сборки в "Содержимое" в свойствах.
Изменить: вы должны сделать это на каждом из файлов, которые не копируются.
Редактирование 2: я немного задумался и нашел сообщение в форуме на msdn, похоже, что вы можете редактировать реестр или создать файл pkdef.
http://social.msdn.microsoft.com/Forums/en/vsxprerelease/thread/c0212d15-96c4-455d-b7e1-d299c5ef384a
Ответ 2
(Этот ответ в основном, если кто-то находит это через google и т.д.)
Как отметил @Ted Ballou, вам нужно изменить тип вывода на Content. Это может быть довольно громоздким, если у вас, как и я, есть более 100 файлов в разных подпапках.
Тем более, что вы не можете обновлять сразу несколько файлов, если в выборке есть папка.
Вместо того, чтобы изменять GUI, откройте файл проекта и непосредственно измените настройки.
В YourProject.csproj
измените такие элементы, как:
<None Include="Views\Foo\Bar.cshtml />
to
<Content Include="Views\Foo\Bar.cshtml" />
Я использовал следующее регулярное выражение для замены всех файлов:
Искать: <None Include="(.+)\.cshtml" />
Заменить на: <Content Include="$1.cshtml" />
Теперь Visual Studio должна обрабатывать все ваши измененные cshtml как Content
при публикации.