Visual Studio 2010 «Публикация» не копирует файлы просмотра Razor

17

При использовании встроенной функции публикации Visual Studio 2010 с веб-приложением, которое включает представления Razor (.cshtml или .vbhtml), служба публикации не копирует файлы просмотра Razor .

Это происходит как в локальной публикации «Файловая система», так и в удаленной публикации с использованием Web Deploy, используя Кандидат на выпуск 9-го ноября .

Есть ли какие-либо известные способы обхода?

    
задан Portman 10.11.2010 в 17:47
источник

2 ответа

33

Вам нужно установить действие сборки в «Содержимое» в свойствах.

Изменить: вы должны сделать это на каждом из файлов, которые не копируются.

Редактирование 2: я немного задумался и нашел сообщение в форуме на msdn, похоже, что вы можете редактировать реестр или создать файл pkdef.

Ссылка

    
ответ дан Ted Ballou 10.11.2010 в 17:54
источник
7

(Этот ответ в основном, если кто-то находит это через 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=".cshtml" />

Теперь Visual Studio должна обрабатывать все ваши измененные cshtml как Content при публикации.

    
ответ дан Jonas Stensved 12.09.2012 в 16:56
источник