Jaw*_*ikh 1 razor .net-core asp.net-core-webapi visual-studio-2017 asp.net-core-2.0
在.NET Core 2 Web API应用程序中,MS VS 2017中的发布到文件夹功能产生:
<ProjectAssembly>.PrecompiledViews.dll
<ProjectAssembly>.PrecompiledViews.pdb
Run Code Online (Sandbox Code Playgroud)
官方文档说PrecompiledViews相关precompiling Razor Views,但我的API不包含任何视图或静态文件,只返回返回json的REST端点.
使用.Net反射器我发现PrecompiledViews.dll为空.
所以我删除PrecompiledViews.dll并测试了我的API,它似乎工作正常,没有任何警告或例外.
如果API不使用任何剃刀视图,删除PrecompiledViews.dll和pdp是否安全?如果是,VS 2017中是否有选项可以停止发布未使用的预编译视图?
你是对的,预编译步骤总是发出一个程序集,不检查是否有实际的视图.您可以通过将其放入csproj文件来禁用预编译步骤:
<PropertyGroup>
<MvcRazorCompileOnPublish>false</MvcRazorCompileOnPublish>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)
然后,这将激活正常的联合上下文保留(refs子文件夹).要停用此功能,请添加
<PreserveCompilationContext>false</PreserveCompilationContext>
Run Code Online (Sandbox Code Playgroud)
到物业集团.
| 归档时间: |
|
| 查看次数: |
1212 次 |
| 最近记录: |