使用VS 2017和MVC 5 Razor视图。当我发布我的应用程序时,一些特定的视图不会被复制。
我在2010-2011时间框架内发现了几个关于同一问题的SE问题。当时,问题是文件属性中的Build Action未设置为Content,因为某些早期RC已经解决了。好吧,我的所有人已经做天内容构建行动。
为什么只有少数观点没有在发布中出现?
答案 0 :(得分:8)
据我所知,只有两件事可以导致这种情况发生。
视图文件需要包含在项目文件中,因此在.csproj
文件中应该有这样一行:
<Content Include="Views\ControllerName\Index.cshtml" />
答案 1 :(得分:2)
另一种方法是在您的csproje文件中进行设置。这是我的遗漏,导致它在我的发布中产生了precompiledviews.dll
:
<MvcRazorCompileOnPublish>false</MvcRazorCompileOnPublish>
明确地将其设置为false
以便发布.cshtml文件。
答案 2 :(得分:0)
取决于Visual Studio的版本,排除然后包含部分视图或其文件夹可能有效,也可能无效。最确定的方法是将其从.csproj
文件中删除,然后再次包含它。
让我们说_LoginPartial
在发布后不会更新(特别是如果您有一些剃刀代码)。
首先打开'.csproj'文件,然后删除
<Content Include="Views\Shared\_LoginPartial.cshtml" />
构建项目,然后将其再次添加到.csproj
,然后重新构建并发布。
答案 3 :(得分:0)
Visual Studio->右键单击解决方案资源管理器中的“视图”。点击“发布视图”。这会将所有视图设置为“内容”。
答案 4 :(得分:0)
来自 Visual Studio 的另一个解决方案
这将自动修改 .csproj 文件。