C# 查看dotnet publish未复制的文件夹

C# 查看dotnet publish未复制的文件夹,c#,razor,asp.net-core,.net-core,C#,Razor,Asp.net Core,.net Core,我有一个.NETCore2.0多项目解决方案。我的主项目名为myproject.Web,有一个文件夹视图(带子文件夹),其中包含所有cshtml文件。此外,myproject.Web依赖于另一个项目myproject.UI,该项目还有一个文件夹视图,其中包含许多项目所共有的cshtml 当我在命令行上执行dotnet run时,项目myproject.Web运行良好。但是,当我dotnet publish并(在发布文件夹中)执行dotnet myproject.Web.dll时,项目无法按预期工

我有一个.NETCore2.0多项目解决方案。我的主项目名为myproject.Web,有一个文件夹视图(带子文件夹),其中包含所有
cshtml
文件。此外,myproject.Web依赖于另一个项目myproject.UI,该项目还有一个文件夹视图,其中包含许多项目所共有的
cshtml

当我在命令行上执行
dotnet run
时,项目myproject.Web运行良好。但是,当我
dotnet publish
并(在发布文件夹中)执行
dotnet myproject.Web.dll
时,项目无法按预期工作。登录页在浏览器中加载,但当我登录时收到HTTP 404错误。检查后,我发现视图文件夹中没有任何文件被复制。这似乎是问题的可能根源

我已设法将UI项目中的cshtml文件放入发布文件夹,但经过所有努力,我无法将
myproject.Web\Views
中的
cshtml
文件放入发布文件夹

我在下面发布了我的
.csproj
文件的相关部分

  <ItemGroup>
    <Folder Include="Views\" />
  </ItemGroup>

  <ItemGroup>
    <None Include="Views\**\*">
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
      <CopyToPublishDirectory>Always</CopyToPublishDirectory>
    </None>
  </ItemGroup>

  <Target Name="PostPublish" AfterTargets="AfterPublish">
    <Exec Command="xcopy /E /Y /R  &quot;$(ProjectDir)..\myproject.UI\Views\*&quot; $(PublishDir)Views\*" />
  </Target>

在ASP.NETCore2中,默认情况下视图是预编译的:我不知道这一点。这就解释了为什么我的发布文件夹中没有
cshtml
文件,但是为什么我会收到404错误?dotnet日志没有显示任何错误(用这些日志更新了上面的问题)。我有一个类似的问题。在调试模式下,我的应用程序工作正常,但在调试\noteApp2.0文件夹中运行dotnet myproject.dll时,它找不到视图。我必须复制它们才能成功
Hosting environment: Local
Content root path: C:\Projects\Master-Demos\Code\myproject.Web\bin\Release\netcoreapp2.0\publish
Now listening on: http://0.0.0.0:57579
Application started. Press Ctrl+C to shut down.
ContentProvider [Watch]: /Views/Home/../Shared/Widgets/_TileEnriched.cshtml
ContentProvider [GetFileInfo]: /Views/Home/../Shared/Widgets/_TileEnriched.cshtml
ContentProvider [GetFileInfo]: /Views/Home/../Shared/Widgets/_TileEnriched.cshtml
ContentProvider [Watch]: /Views/Home/../Shared/Widgets/_TileEnriched.cshtml
ContentProvider [GetFileInfo]: /Views/Home/../Shared/Widgets/_TileEnriched.cshtml
ContentProvider [GetFileInfo]: /Views/Home/../Shared/Widgets/_TileEnriched.cshtml