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

.net core 2.0 prepare all files to publish in one folder in by running command

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

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

根据 docs:

The ASP.NET Core 2.x project templates enable precompilation by default.

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

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

YourMvcProject.PrecompiledViews.dll

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

-如果要部署 Views 文件夹:

   <PropertyGroup>
    <TargetFramework>net461</TargetFramework>   
    <MvcRazorCompileOnPublish>false</MvcRazorCompileOnPublish>
  </PropertyGroup>