ASP.Net core 发布一个空文件夹

ASP.Net core publishes an empty folder

编辑:我注意到 bin\Debug\net461\Publish 中有一个文件夹,其中包含所有需要的东西,我尝试检查以这种方式使用的配置:

#if DEBUG
        ViewData["Message"] = "DEBUG";
#else
        ViewData["Message"] = "else";
#endif

网页显示"DEBUG"...

原题:

ASP.Net 核心发布了一个空文件夹:我对 ASP.Net 没有这个问题,只有 ASP.Net 核心。所以这就是我在两个平台上创建我的发布配置文件的方法:

创建配置文件 => 文件夹 => bin\Release\PublishOutput => 创建配置文件 => 发布

使用 Asp.Net 它生成这个 .pubxml :

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0"     xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <WebPublishMethod>FileSystem</WebPublishMethod>
    <PublishProvider>FileSystem</PublishProvider>
    <LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
    <LastUsedPlatform>Any CPU</LastUsedPlatform>
    <SiteUrlToLaunchAfterPublish />
    <LaunchSiteAfterPublish>True</LaunchSiteAfterPublish>
    <ExcludeApp_Data>False</ExcludeApp_Data>
    <publishUrl>bin\Release\PublishOutput</publishUrl>
    <DeleteExistingFiles>False</DeleteExistingFiles>
  </PropertyGroup>
</Project>

输出 Asp.Net:

2>Web App was published successfully file:///Path/bin/Release/PublishOutput
2>
========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
========== Publish: 1 succeeded, 0 failed, 0 skipped ==========

使用 Asp.Net Core 它生成这个 .pubxml :

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <WebPublishMethod>FileSystem</WebPublishMethod>
    <PublishProvider>FileSystem</PublishProvider>
    <LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
    <LastUsedPlatform>Any CPU</LastUsedPlatform>
    <SiteUrlToLaunchAfterPublish />
    <LaunchSiteAfterPublish>True</LaunchSiteAfterPublish>
    <ExcludeApp_Data>False</ExcludeApp_Data>
    <ProjectGuid>32b7ffef-9cf4-471a-ab1a-ec3c69d0dd13</ProjectGuid>
    <publishUrl>bin\Release\PublishOutput</publishUrl>
    <DeleteExistingFiles>False</DeleteExistingFiles>
  </PropertyGroup>
</Project>

输出Asp.Net核心:

Web App was published successfully file:///Path/bin/Release/PublishOutput
========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
========== Publish: 1 succeeded, 0 failed, 0 skipped ==========

我在 3 台电脑上试过,我仍然得到一个带有 Asp.Net Core 的空文件夹。

这并没有直接回答你的问题,而是解决了你的问题:发布时使用 dotnet CLI,cd 到你的 .csproj 或 .sln 的目录,然后 运行:

dotnet publish -c Release -o "path/to/output"