将视图文件打包全部进去之后,要修改页面的任何东西都需要重新发布一次,变得很麻烦。有没有办法设置视图不被打包进去?
或者说有没有另外的方案,我只想*.cshtml文件不被打包进去,其它的文件全部打包。
我参考这个页面:https://docs.microsoft.com/zh-cn/dotnet/core/tools/project-json-to-csproj#other-common-build-options
尝试像这样添加(我新建的是Razor Pages项目)
<Compile Include="Pages\*.cs" Exclude="Pages\*.cshtml" />
然后提示:包含了重复的“Compile”项。.NET SDK 默认包含你项目目录中的“Compile”项。可从项目文件中删除这些项;如果希望将其显式包含在项目文件中,可将“EnableDefaultCompileItems”属性设置为“false”。
这个配置加进去之后,发布的项目文件夹中怎么多了一个refs文件夹,里面多了140多个dll文件,大概有将近5MB,这个是必须的吗?我新建一个空的项目,打包之后的视图dll才60多KB,不打包怎么就多出这么多文件?
在你的csproj文件里面,
<Project Sdk="Microsoft.NET.Sdk.Web"> <PropertyGroup> <TargetFramework>netcoreapp2.0</TargetFramework> <MvcRazorCompileOnPublish>false</MvcRazorCompileOnPublish> </PropertyGroup>
</Project>
加入MvcRazorCompileOnPublish=false这句。
具体请参考
https://docs.microsoft.com/en-us/aspnet/core/mvc/views/view-compilation?tabs=aspnetcore2x