Подтвердить что ты не робот

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

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

Это происходит как в локальной публикации "Файловая система", так и в удаленной публикации с использованием Web Deploy, используя Ноябрь 9 Release Candidate.

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

4b9b3361

Ответ 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 при публикации.