.net core 2.0通过运行命令准备要在一个文件夹中发布的所有文件

问题描述 投票:0回答:4

我想准备所有要通过FTP上传的文件。我试过命令dotnet publish -c Release -o ~/Desktop/toFtp。不幸的是,视图文件夹未被复制有办法吗?

c# asp.net-core .net-core ftp publish
4个回答
5
投票

根据docs

ASP.NET Core 2.x项目模板默认启用预编译。

这只是意味着没有.cshtml文件等,因为它们被预编译到已发布的输出中,即为您组装。

如果检查已发布的输出,您应该看到类似的内容:

YourMvcProject.PrecompiledViews.dll


0
投票

现在我只想出一个衬垫(在macOS上测试)。 dotnet publish -c Release -o ~/Desktop/toFtp/ ; cp -r Views/ ~/Desktop/toFtp/Views/。它现在看起来像.net core 2.0中的一个bug。这不是正确的方式,但现在有效。


0
投票

根据一些答案,我想将它们结合起来。所以我可以使用dotnet publish -c Release -o ~/Desktop/release/但也添加到<PropertyGroup>中的myProject.csproj:<MvcRazorCompileOnPublish>true</MvcRazorCompileOnPublish>所以它会将所有视图预编译到dll文件中。发布它应该可以正常工作。


0
投票

- 如果要部署Views文件夹:

   <PropertyGroup>
    <TargetFramework>net461</TargetFramework>   
    <MvcRazorCompileOnPublish>false</MvcRazorCompileOnPublish>
  </PropertyGroup>
© www.soinside.com 2019 - 2024. All rights reserved.