Asp.net-Core
在 netcore 2.0 Visual Studio 2017 中發布項目時未複製視圖
我在 VS 2017 中創建了一個 ASP.NET Core 2.0 項目。當我發布我的項目時,
Views文件夾不存在,但wwwroot文件夾存在。我可以在我的 .csproj 文件中設置以下內容:
<ItemGroup> <Content Update="appsettings.json;web.config" CopyToOutputDirectory="PreserveNewest"/> <Content Update="Views\**\*" CopyToOutputDirectory="PreserveNewest" /> <Content Update="wwwroot\**\*" CopyToOutputDirectory="PreserveNewest" /> </ItemGroup>但沒有用。
ASP.NET Core MVC 具有預編譯功能,可以通過引用
Microsoft.AspNetCore.Mvc.Razor.ViewCompilation包來添加。屬性配置的功能啟用/禁用MvcRazorCompileOnPublish是 .csproj。預設情況下,該包被添加到 ASP.NET Core 2.0 MVC 應用程序中:
如果您的目標是 netcoreapp2.0 上的 ASP.NET Core 2.0 或更高版本,則Microsoft.AspNetCore.Mvc.Razor.ViewCompilation包的引用由 Microsoft.AspNetCore.All 添加,您無需顯式引用它。
並啟用預編譯:
ASP.NET Core 2.x 項目模板
MvcRazorCompileOnPublish預設隱式設置為 true,這意味著可以從 .csproj 文件中安全地刪除此節點:<PropertyGroup> <TargetFramework>netcoreapp2.0</TargetFramework> <MvcRazorCompileOnPublish>true</MvcRazorCompileOnPublish> </PropertyGroup>如果你去發布輸出文件夾,你會看到
<project_name>.PrecompiledViews.dll包含你的視圖的 dll。