从 ASP.Net 核心 2 API 中删除 PrecompiledViews.dll
Deleting PrecompiledViews.dll from ASP.Net Core 2 API
在 .NET Core 2 Web API 应用程序中,发布到 MS VS 2017 产品中的文件夹功能:
<ProjectAssembly>.PrecompiledViews.dll
<ProjectAssembly>.PrecompiledViews.pdb
Offical docs 说 PrecompiledViews 与 precompiling Razor Views
相关,但我的 API 不包含任何视图或静态文件,仅包含 REST return json.
的端点
使用 .Net 反射器我发现了 PrecompiledViews.dll empty.
所以我删除了 PrecompiledViews.dll
并测试了我的 API,它似乎工作正常,没有任何警告或异常。
如果 API 不使用任何剃须刀视图,删除 PrecompiledViews.dll 和 pdp 是否安全?如果是,VS 2017 中是否有停止发布未使用的预编译视图的选项?
你是对的,预编译步骤总是发出一个程序集而不检查是否确实存在视图。您可以通过将其放入您的 csproj 文件来禁用预编译步骤:
<PropertyGroup>
<MvcRazorCompileOnPublish>false</MvcRazorCompileOnPublish>
</PropertyGroup>
这将激活正常的编译上下文保存(refs
子文件夹)。要同时停用它,请添加
<PreserveCompilationContext>false</PreserveCompilationContext>
到属性组。
在 .NET Core 2 Web API 应用程序中,发布到 MS VS 2017 产品中的文件夹功能:
<ProjectAssembly>.PrecompiledViews.dll
<ProjectAssembly>.PrecompiledViews.pdb
Offical docs 说 PrecompiledViews 与 precompiling Razor Views
相关,但我的 API 不包含任何视图或静态文件,仅包含 REST return json.
使用 .Net 反射器我发现了 PrecompiledViews.dll empty.
所以我删除了 PrecompiledViews.dll
并测试了我的 API,它似乎工作正常,没有任何警告或异常。
如果 API 不使用任何剃须刀视图,删除 PrecompiledViews.dll 和 pdp 是否安全?如果是,VS 2017 中是否有停止发布未使用的预编译视图的选项?
你是对的,预编译步骤总是发出一个程序集而不检查是否确实存在视图。您可以通过将其放入您的 csproj 文件来禁用预编译步骤:
<PropertyGroup>
<MvcRazorCompileOnPublish>false</MvcRazorCompileOnPublish>
</PropertyGroup>
这将激活正常的编译上下文保存(refs
子文件夹)。要同时停用它,请添加
<PreserveCompilationContext>false</PreserveCompilationContext>
到属性组。