C# 查看dotnet publish未复制的文件夹
我有一个.NETCore2.0多项目解决方案。我的主项目名为myproject.Web,有一个文件夹视图(带子文件夹),其中包含所有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时,项目无法按预期工
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 "$(ProjectDir)..\myproject.UI\Views\*" $(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