Visual Studio 2010“发布”不会复制Razor视图文件

时间:2010-11-10 16:47:53

标签: asp.net-mvc visual-studio visual-studio-2010 razor

将Visual Studio 2010的内置发布功能与包含Razor视图(.cshtml或.vbhtml)的Web应用程序一起使用时,发布服务不会复制Razor视图文件。< / p>

使用November 9 Release Candidate在本地“文件系统”发布以及使用Web Deploy进行远程发布时都会发生这种情况。

是否有任何已知的解决方法?

2 个答案:

答案 0 :(得分:34)

您需要将构建操作设置为属性下的“内容”。

编辑:您必须对未复制的每个文件执行此操作。

编辑2:我做了一些讨论,发现在msdn上发布了一个论坛,听起来你可以编辑注册表,或者创建一个pkdef文件。

http://social.msdn.microsoft.com/Forums/en/vsxprerelease/thread/c0212d15-96c4-455d-b7e1-d299c5ef384a

答案 1 :(得分:9)

(这个答案主要是因为有人通过谷歌等发现这个)

@Ted Ballou指出你需要将输出类型更改为Content。如果您像我一样在不同的子文件夹中有100多个文件,这可能会非常麻烦。

特别是如果选择中包含文件夹,则无法一次更新多个文件。

打开项目文件并直接修改设置,而不是通过GUI进行更改。

YourProject.csproj更改项目,例如:

<None Include="Views\Foo\Bar.cshtml />

<Content Include="Views\Foo\Bar.cshtml" />

我使用以下正则表达式替换所有文件:

搜索:<None Include="(.+)\.cshtml" />

替换为:<Content Include="$1.cshtml" />

现在,Visual Studio应将所有已更改的cshtml视为发布时的Content